Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno 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 zararované v příloze.

Moc děkuji!

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Sub LoadData() Dim aRange As Range Dim aIndex As Integer Dim aOpened As Boolean Dim aFilename As Str…
los 30.03.2013 21:44
los
Lose, moc děkuju, funguje to - neuvěřitelné! :-) Mě ještě napadlo...v případě, že by se ve složce k…
Mirror001 31.03.2013 12:15
Mirror001
Aby sa názvy súborov brali podľa stĺpca Vzorek, tak stači upraviť riadok: aFilename = "Vzorek " & a…
los 31.03.2013 12:23
los
Dobrý den, já bych potřeboval obdobné makro, s tím rozdílem že by vyhledávalo určité xlsx soubory v… poslední
Davek 07.02.2014 15:22
Davek
Sub LoadData()
    Dim aRange As Range
    Dim aIndex As Integer
    Dim aOpened As Boolean
    Dim aFilename As String
    Dim aWorkbook As Workbook
    
    Set aRange = Range("C3:E5")
    For aIndex = 1 To aRange.Rows.Count
        aFilename = "Vzorek " & aIndex & ".xlsx"
        On Error Resume Next
        Set aWorkbook = Workbooks(aFilename)
        On Error GoTo 0
        If aWorkbook Is Nothing Then
            Set aWorkbook = Workbooks.Open(ThisWorkbook.Path & "\" & aFilename)
            aOpened = True
        End If
        aRange.Cells(aIndex, 1).Value = aWorkbook.Worksheets("Povrch").Range("B5")
        aRange.Cells(aIndex, 2).Value = aWorkbook.Worksheets("Objem").Range("C5")
        aRange.Cells(aIndex, 3).Value = aWorkbook.Worksheets("Poloměr").Range("D5")
        If aOpened Then
            aWorkbook.Close False
            aOpened = False
        End If
        Set aWorkbook = Nothing
    Next aIndex
End Sub

Lose, moc děkuju, funguje to - neuvěřitelné! :-)

Mě ještě napadlo...v případě, že by se ve složce kromě výše zmíněných souborů Vzorek 1-3.xlsx nacházely třeba soubory A.xlsx nebo Materiál.xlsx - dal by se ten kod ještě nějak vylepšit, aby to tahalo i data z nich?? V podstatě by stačilo, aby to tahalo data ze všech xlsx souborů ve složce (samozřejmě krom toho MASTERu). Umístění kopírovaných buňěk v těchto sešitech samozřejmě zůstává stejné.

Dobrý den,
já bych potřeboval obdobné makro, s tím rozdílem že by vyhledávalo určité xlsx soubory v různých adresářích a obsah listu každého z nich by překopírovalo do nového souboru na jeden list pod sebe (hlavičky a sloupce jsou stejné, pouze se mění data a počty řádků).
Př. vybrat data ze souborů beh* v adresářích
c:\kurzy\20140201\beh1.xlsx
c:\kurzy\20140202\beh2.xlsx
c:\kurzy\20140203\beh3.xlsx a vložit do nového souboru c:\kurzy\2014_02\prehled.xlsx

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