U nastavku ćemo pogledati program u Excel VBA da uvozi listove iz drugih Excel datoteka u jednu Excel datoteku.
Preuzmite Book4.xlsx, Book5.xlsx i dodajte ih u "C: \ test \"
Situacija:
Naredbenom gumbu dodajte sljedeće retke koda:
1. Prvo deklariramo dvije varijable tipa String, objekt radnog lista i jednu varijablu tipa Integer.
Dim direktorij kao niz, naziv datoteke kao niz, list kao radni list, ukupno kao cijeli broj
2. Isključite ažuriranje zaslona i prikaz upozorenja.
Application.ScreenUpdating = Netačno
Application.DisplayAlerts = Netačno
3. Inicijalizirajte direktorij varijabli. Koristimo Dir funkciju da pronađemo prvi *.xl ?? datoteku pohranjenu u ovom direktoriju.
direktorij = "c: \ test \"
fileName = Dir (direktorij & "*.xl ??")
Napomena: Funkcija Dir podržava korištenje zamjenskih znakova s više znakova (*) i jednog znaka (?) Za traženje svih različitih vrsta Excel datoteka.
4. Varijabla fileName sada sadrži naziv prve Excel datoteke koja se nalazi u direktoriju. Dodajte petlju Do While.
Do While naziv datoteke ""
Petlja
Dodajte sljedeće linije koda (na 5, 6, 7 i 8) u petlju.
5. Ne postoji jednostavan način kopiranja radnih listova iz zatvorenih Excel datoteka. Stoga otvaramo Excel datoteku.
Radne knjige.Otvoreno (imenik i ime datoteke)
6. Uvezite listove iz Excel datoteke u import-sheet.xlsm.
Za svaki list u radnim knjigama (naziv datoteke) .Radni listovi
ukupno = Radne knjige ("import-sheets.xlsm"). Radni listovi.broj
Radne knjige (naziv datoteke). Radni listovi (naziv.naloga). Kopiraj _
nakon: = Radne knjige ("import-sheets.xlsm"). Radni listovi (ukupno)
Sljedeći list
Objašnjenje: varijabla total prati ukupni broj radnih listova import-sheet.xlsm. Koristimo metodu Kopiraj objekt Radni list da bismo kopirali svaki radni list i zalijepili ga nakon zadnjeg radnog lista import-sheets.xlsm.
7. Zatvorite Excel datoteku.
Radne knjige (naziv datoteke) .Zatvori
8. Dir funkcija je posebna funkcija. Da biste dobili ostale Excel datoteke, možete ponovno koristiti funkciju Dir bez argumenata.
naziv datoteke = Dir ()
Napomena: Kad se ne podudaraju više imena datoteka, funkcija Dir vraća niz nulte duljine (""). Kao rezultat toga, Excel VBA napustit će petlju Do While.
9. Ponovno uključite ažuriranje zaslona i prikaz upozorenja (izvan petlje).
Application.ScreenUpdating = Istina
Application.DisplayAlerts = Istina
10. Testirajte program.
Proizlaziti: