/ / Import tabuľky pomocou programu Excel VBA

Importujte tabuľky pomocou programu Excel VBA

Nižšie sa pozrieme na program v sekcii Excel VBA že importuje listy z iných súborov programu Excel do jedného súboru programu Excel.

Stiahnite si Book1.xls, Book2.xls a pridajte ich do "C: test"

situácie:

Importujte tabuľky pomocou programu Excel VBA

Do príkazového tlačidla pridajte nasledujúce riadky kódu:

1. Najprv deklarujeme dve premenné typu String, objekt pracovného hárka a jednu premennú typu Integer.

Dim directory As String, fileName As String, sheet As Worksheet, total As Integer

2. Vypnite aktualizáciu obrazovky a zobrazenie upozornení.

Application.ScreenUpdating = False
Application.DisplayAlerts = False

3. Inicializujte premenný adresár. Používame funkciu Dir na nájdenie prvého * .xl? súbor uložený v tomto adresári.

directory = "c:test"
fileName = Dir(directory & "*.xl??")

Poznámka: Funkcia Dir podporuje použitie zástupných znakov (*) a jedného znaku (?) Na vyhľadávanie všetkých rôznych typov súborov programu Excel.

4. Premenná fileName teraz obsahuje meno prvého súboru programu Excel nájdeného v adresári. Pridajte funkciu Do While Loop.

Do While fileName <> ""

Loop

Do slučky pridajte nasledujúce riadky kódu (na 5, 6, 7 a 8).

5. Nie je jednoduchý spôsob kopírovania pracovných hárkov z uzavretých súborov programu Excel. Preto otvoríme súbor programu Excel.

Workbooks.Open (directory & fileName)

6. Importujte hárky zo súboru Excel do import-sheet.xls.

For Each sheet In Workbooks(fileName).Worksheets
    total = Workbooks("import-sheets.xls").Worksheets.count
    Workbooks(fileName).Worksheets(sheet.Name).Copy _
    after:=Workbooks("import-sheets.xls").Worksheets(total)
Next sheet

vysvetlenie: celková premenná sleduje celkový počet pracovných listov import-sheet.xls. Pri kopírovaní každého pracovného hárka používame metódu Kopírovanie objektu pracovného hárka a vložiť ho po poslednom pracovnom hárku import-sheets.xls.

7. Zatvorte súbor programu Excel.

Workbooks(fileName).Close

8. Funkcia Dir je špeciálna funkcia. Ak chcete získať ďalšie súbory programu Excel, môžete použiť funkciu Dir znova bez argumentov.

fileName = Dir()

Poznámka: Ak sa nezhodujú žiadne ďalšie názvy súborov, funkcia Dir vráti reťazec s nulovou dĺžkou (""). Výsledkom je, že program Excel VBA opustí cyklus Do While.

9. Zapnite aktualizáciu obrazovky a zobrazenie výstrah znova (mimo slučky).

Application.ScreenUpdating = True
Application.DisplayAlerts = True

10. Otestujte program.

výsledok:

Výsledok importu hárkov

Tiež si prečítajte: