Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel 2007 - makro

Zdravím,

potřeboval bych radu. chtěl bych napsat makro, které mi zkopíruje určenou buňku z každého jiného souboru do nového sešitu a vytvoří tim seznam, který já si pak dále budu moct upravit dle svého.samozrejme ze dané soubory nechci otvírat,takze potrebuju nastavit cestu aby si nasel soubory a vytahal to z nich sam kód. Takže příklad:

Nový sešit (sem se bude zapisovat a výsledek je seznam toho co potřebuji)

soubor1.xls
soubor2.xls
soubor3.xls - zdrojové soubory, ve kterých je buňka s textem či číslem kterou chci překopírovat do
nového sešitu (pro uplnost tech souboru bude cca 60 a rucni kopirovani je jaksi na dlouhe
lokte.

nejsem v tomhle vůbec zběhlej, jsem jen amatér co se sám učí a potřebuje rady. :)

díky za každou dobrou pomoc.
PS: přikládám dva obrázky jak bych to chtěl.

Předmět Autor Datum
makro je na tohle krátké, na to budeš potřebovat použít VBS/VBA. Jinak celkem jednoduchá úloha - sta…
touchwood 01.06.2010 21:17
touchwood
a nevedel bys nejaky ty zacatky?? ja nemam totiz zadny knizky k tomu VBS/VBA jak pises...
safrikk 01.06.2010 21:18
safrikk
knížky? Nač knížky? Máš přece internet... http://technet.microsoft.com/en-us/scriptcenter/de fault.…
touchwood 01.06.2010 21:45
touchwood
ty odkazy sou sice hezky a ten seznam v nich tech veci taky...ale jak tomu mam rozumet? vzdyt ja ani…
safrikk 02.06.2010 16:43
safrikk
pisal ti predsa ze mas hladat googlom: VBA open excel files a najdes urcite aj vytuzene funkcie
MM.. 02.06.2010 18:35
MM..
neumíš hledat na internetu a to se chceš učit programovat? Tak to přeju hodně štěstí, budeš ho totiž…
touchwood 03.06.2010 20:41
touchwood
hledat umim...jenomze na to taky nemam spoustu casu.. a kdo rikal ze se chci ucit programovat??? jen… poslední
safrikk 04.06.2010 20:56
safrikk
Toto môžeš uložiť ako súbor s príponou VBS a ďalej si to upraviť podľa seba: Set aShell = CreateObj…
los 02.06.2010 23:31
los

makro je na tohle krátké, na to budeš potřebovat použít VBS/VBA. Jinak celkem jednoduchá úloha - stačí použít metod VBS k iteraci přes všechny soubory a následně pomocí metod a funkcí VBA provést to kopírování.

Toto môžeš uložiť ako súbor s príponou VBS a ďalej si to upraviť podľa seba:

Set aShell = CreateObject("WScript.Shell")
aPath = aShell.CurrentDirectory

Set aApplication = CreateObject("Excel.Application")
Set aWorkbook = aApplication.Workbooks.Add
Set aWorksheet = aWorkbook.Worksheets(1)
Set aCell = aWorksheet.Range("A1")

For i = 1 To 3
	Set bWorkbook = aApplication.Workbooks.Open(aPath & "\soubor" & i & ".xls")
	Set bWorksheet = bWorkbook.Worksheets(1)
	aCell.Value = bWorksheet.Range("B1")
	Set aCell = aCell.Offset(1)
	bWorkbook.Close
Next

aWorkbook.SaveAs aPath & "\vysledok.xls"
aWorkbook.Close
aApplication.Quit

Zpět do poradny Odpovědět na původní otázku Nahoru