Importuokite lapus naudodami „Excel VBA“ - paprastos „Excel“ makrokomandos

Turinys

Žemiau apžvelgsime programą Excel VBA kad importuoja lapus iš kitų „Excel“ failų į vieną „Excel“ failą.

Atsisiųskite „Book4.xlsx“, „Book5.xlsx“ ir pridėkite juos prie „C: \ test \“

Situacija:

Prie komandų mygtuko pridėkite šias kodo eilutes:

1. Pirmiausia deklaruojame du „String“ tipo kintamuosius, darbalapio objektą ir vieną „Integer“ tipo kintamąjį.

Rodyti katalogą kaip eilutę, failo pavadinimą kaip eilutę, lapą kaip darbalapį, iš viso kaip sveiką skaičių

2. Išjunkite ekrano atnaujinimą ir įspėjimų rodymą.

Application.ScreenUpdating = Netiesa
Application.DisplayAlerts = Netiesa

3. Inicijuokite kintamųjų katalogą. Norėdami rasti pirmąjį *.xl ??, naudojame funkciją Dir. failas, saugomas šiame kataloge.

katalogas = "c: \ test \"
fileName = Dir (katalogas ir "*.xl ??")

Pastaba: „Dir“ funkcija palaiko kelių simbolių (*) ir vieno simbolio (?) Pakaitos simbolių naudojimą ieškant visų skirtingų tipų „Excel“ failų.

4. Kintamasis fileName dabar turi pirmo katalogo rasto „Excel“ failo pavadinimą. Pridėkite ciklą „Daryk, kol“.

Daryti, kol failo pavadinimas ""
Kilpa

Prie kilpos pridėkite šias kodo eilutes (5, 6, 7 ir 8).

5. Nėra paprasto būdo nukopijuoti darbalapius iš uždarų „Excel“ failų. Todėl atidarome „Excel“ failą.

Darbaknygės. Atidaryti (katalogas ir failo pavadinimas)

6. Importuokite lapus iš „Excel“ failo į import-sheet.xlsm.

Kiekvienam darbaknygių lapui (failo pavadinimas). Darbo lapai
iš viso = Darbaknygės ("import-sheet.xlsm"). Darbo lapai
Darbaknygės (failo pavadinimas). Darbo lapai (lapas. Pavadinimas). Kopijuoti _
po: = Darbaknygės ("import-sheet.xlsm"). Darbo lapai (iš viso)
Kitas lapas

Paaiškinimas: kintamasis sumas seka bendrą importo lapo.xlsm darbalapių skaičių. Mes naudojame darbalapio objekto kopijavimo metodą, norėdami nukopijuoti kiekvieną darbalapį ir įklijuoti jį po paskutinio importo lakštų.xlsm darbalapio.

7. Uždarykite „Excel“ failą.

Darbaknygės (failo pavadinimas). Uždaryti

8. Dir funkcija yra ypatinga funkcija. Norėdami gauti kitus „Excel“ failus, galite dar kartą naudoti funkciją „Dir“ be jokių argumentų.

fileName = Režisierius ()

Pastaba: kai daugiau failų pavadinimų nesutampa, funkcija Dir grąžina nulinio ilgio eilutę (""). Dėl to „Excel VBA“ paliks ciklą „Daryti kol“.

9. Vėl įjunkite ekrano atnaujinimą ir įspėjimų rodymą (už ciklo ribų).

Application.ScreenUpdating = Tiesa
Application.DisplayAlerts = Tiesa

10. Išbandykite programą.

Rezultatas:

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave