Excel - makro

Tomek30.03.2013 17:07 Nahlásit
Ahojte,
nebudu zdržovat, tudíž krátce.
Mám dílčí excelovské soubory označené jako Vzorek 1-3.xlsx. V každém z nich je na daném listu v dané buňce jeden parametr (ten je vždy umístěn na stejném místě v každém sešitě). Velice by mi pomohlo, kdyby mi tady někdo napsal konkrétní makro, které by kopírovalo data z označených "zažlutěných" buněk ze sešitů Vzorek 1-3.xlsx do jednoho sešitu Master.xlsx (zase do vyznačených žlutých oblastí).
S makry skoro neumím, takže prosím polopatisticky.
Všechny výše zmíněné excelovské soubory jsou k nalezení zde: pc.poradna.net/q/view/998696-excel-makro

Moc děkuji!

Odpovědi

Přidat odpověď ▾

Diskuze

Mezek31.03.2013 10:11 Nahlásit
Na listu Parametry 1 v buňce H2 je cesta k souborům Vzorek 1..... V buňce g2 je funkce
=POČET2(B3:B21), která počítá počet souborů se zdrojovými daty. Ve sloupci B tabulky jsou názvy zdrojových souborů bez přípony. Všechna tyto data makro využívá, je možno je přesunout po úpravě makra. Samotné makro je poměrně jednoduché. Postupně otevírá jednotlivé zdrojové soubory a s pomocí tří proměnných je přenáší do tabulky:

Sub Makro1()
' Makro1 Makro
' Klávesová zkratka: Ctrl+y
'
Dim a, b, x, y As String
Dim c, d As Integer
Dim aa, ab, ac As Double

Worksheets("Parametry 1").Select
a = Range("H2").Value
c = Range("G2").Value
ChDir a
For d = 3 To 2 + c
x = Range("B" & d).Value & ".xlsx"
b = a & "\" & x
Workbooks.Open b
aa = Range("Povrch!B5").Value
ab = Range("Objem!C5").Value
ac = Range("Poloměr!D5").Value
ActiveWindow.Close
Workbooks("Master.xlsm").Activate
Range("C" & d).Value = aa
Range("d" & d).Value = ab
Range("E" & d).Value = ac

Next d
End Sub
Přidat komentář do diskuze ▾