Lehtede importimine Exceli VBA abil - lihtsad Exceli makrod

Lang L: none (table-of-contents)

Allpool vaatame programmi Exceli VBA seda impordib lehed teistest Exceli failidest ühte Exceli faili.

Laadige alla Book4.xlsx, Book5.xlsx ja lisage need kausta C: \ test \

Olukord:

Lisage käsunupule järgmised koodiridad:

1. Esiteks deklareerime kaks String tüüpi muutujat, töölehe objekti ja ühe Integer tüüpi muutuja.

Hämardage kataloog stringina, failinimi stringina, leht töölehena, kokku täisarvuna

2. Lülitage ekraani värskendamine ja hoiatuste kuvamine välja.

Application.ScreenUpdating = Vale
Application.DisplayAlerts = Vale

3. Initsialiseeri muutujate kataloog. Kasutame funktsiooni Dir, et leida esimene *.xl ?? sellesse kataloogi salvestatud fail.

kataloog = "c: \ test \"
fileName = Juht (kataloog & "*.xl ??")

Märkus. Funktsioon Dir toetab mitme tähemärgi (*) ja ühe tähemärgi (?) Metamärkide kasutamist kõigi eri tüüpi Exceli failide otsimiseks.

4. Muutuja fileName hoiab nüüd kataloogist leitud esimese Exceli faili nime. Lisage tegemise tsükkel.

Kas teha failinimi ""
Loop

Lisage silmusesse järgmised koodiridad (5, 6, 7 ja 8).

5. Töölehtede kopeerimiseks suletud Exceli failidest pole lihtsat viisi. Seetõttu avame Exceli faili.

Töövihikud. Avage (kataloog ja failinimi)

6. Importige lehed Exceli failist import-sheet.xlsm.

Iga lehe kohta töövihikutes (failinimi). Töölehed
kokku = töövihikud ("import-sheet.xlsm"). Töölehed.arv
Töövihikud (faili nimi). Töölehed (leht. Nimi). Kopeeri _
pärast: = Töövihikud ("import-sheet.xlsm"). Töölehed (kokku)
Järgmine leht

Selgitus: muutuja total jälgib import-sheet.xlsm töölehtede koguarvu. Kasutame töölehe objekti kopeerimismeetodit, et kopeerida iga tööleht ja kleepida see pärast import-sheet.xlsm viimast töölehte.

7. Sulgege Exceli fail.

Töövihikud (failinimi). Sulge

8. Funktsioon Dir on erifunktsioon. Teiste Exceli failide hankimiseks võite uuesti kasutada funktsiooni Dir ilma argumentideta.

fileName = Juht ()

Märkus. Kui enam failinimesid ei vasta, tagastab funktsioon Dir nullpikkuse stringi (""). Selle tulemusel lahkub Excel VBA Do Do tsüklist.

9. Lülitage ekraani värskendamine ja hoiatuste kuvamine uuesti sisse (väljaspool silmust).

Application.ScreenUpdating = Tõsi
Application.DisplayAlerts = Tõsi

10. Testige programmi.

Tulemus:

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave