Jak procházet soubory v adresáři a kopírovat data do hlavního listu v aplikaci Excel?
Předpokládejme, že ve složce je několik sešitů aplikace Excel a chcete procházet všechny tyto soubory aplikace Excel a kopírovat data ze specifikovaných pracovních listů se stejným názvem do hlavního listu v aplikaci Excel, co můžete dělat? Tento článek představuje metodu, jak toho dosáhnout podrobně.
Procházejte soubory v adresáři a kopírujte data do hlavního listu s kódem VBA
Procházejte soubory v adresáři a kopírujte data do hlavního listu s kódem VBA
Pokud chcete zkopírovat zadaná data v rozsahu A1: D4 ze všech listů1 sešitů v určité složce do hlavního listu, postupujte následovně.
1. V sešitu vytvoříte hlavní list a stiskněte Další + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.
2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul. Poté zkopírujte níže uvedený kód VBA do okna kódu.
Kód VBA: procházejte soubory ve složce a kopírujte data do hlavního listu
Sub Merge2MultiSheets()
Dim xRg As Range
Dim xSelItem As Variant
Dim xFileDlg As FileDialog
Dim xFileName, xSheetName, xRgStr As String
Dim xBook, xWorkBook As Workbook
Dim xSheet As Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.ScreenUpdating = False
xSheetName = "Sheet1"
xRgStr = "A1:D4"
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
With xFileDlg
If .Show = -1 Then
xSelItem = .SelectedItems.Item(1)
Set xWorkBook = ThisWorkbook
Set xSheet = xWorkBook.Sheets("New Sheet")
If xSheet Is Nothing Then
xWorkBook.Sheets.Add(after:=xWorkBook.Worksheets(xWorkBook.Worksheets.Count)).Name = "New Sheet"
Set xSheet = xWorkBook.Sheets("New Sheet")
End If
xFileName = Dir(xSelItem & "\*.xlsx", vbNormal)
If xFileName = "" Then Exit Sub
Do Until xFileName = ""
Set xBook = Workbooks.Open(xSelItem & "\" & xFileName)
Set xRg = xBook.Worksheets(xSheetName).Range(xRgStr)
xRg.Copy xSheet.Range("A65536").End(xlUp).Offset(1, 0)
xFileName = Dir()
xBook.Close
Loop
End If
End With
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Poznámka:
3. zmáčkni F5 klíč ke spuštění kódu.
4. V otvoru Procházet V okně vyberte složku obsahující soubory, které budete procházet smyčkou, a poté klikněte na ikonu OK knoflík. Viz screenshot:
Poté se na konci aktuálního sešitu vytvoří hlavní list s názvem „Nový list“. A data v rozsahu A1: D4 všech listů1 ve vybrané složce jsou uvedena uvnitř listu.
Související články:
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!