Excel - makro
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!
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
Diskuze
=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
Cestu k souborům na listu Parametry 1 si budeš muset upravit podle svého umístění.