Alla tarkastelemme ohjelmaa Excel VBA että tuo taulukot muista Excel -tiedostoista yhteen Excel -tiedostoon.
Lataa Book4.xlsx, Book5.xlsx ja lisää ne kohtaan "C: \ test \"
Tilanne:
Lisää seuraavat koodirivit komentopainikkeeseen:
1. Ilmoitamme ensin kaksi String -tyyppistä muuttujaa, laskentataulukko -objektin ja yhden Integer -tyyppisen muuttujan.
Himmennä hakemisto merkkijonona, tiedostonimi nimellä merkkijono, arkki laskentataulukkona, kokonaislukuna
2. Poista näytön päivitys ja hälytykset käytöstä.
Application.ScreenUpdating = Väärä
Application.DisplayAlerts = Väärä
3. Alusta muuttujahakemisto. Käytämme Dir -funktiota ensimmäisen *.xl ?? tiedosto, joka on tallennettu tähän hakemistoon.
hakemisto = "c: \ test \"
fileName = Dir (hakemisto & "*.xl ??")
Huomautus: Dir -toiminto tukee monimerkkisten (*) ja yhden merkin (?) Yleismerkkien käyttöä kaikentyyppisten Excel -tiedostojen etsimiseen.
4. Muuttuja fileName sisältää nyt hakemistosta löydetyn ensimmäisen Excel -tiedoston nimen. Lisää Do while Loop.
Tee samalla tiedostonimi ""
Silmukka
Lisää seuraavat koodirivit (kohdissa 5, 6, 7 ja 8) silmukkaan.
5. Ei ole yksinkertaista tapaa kopioida laskentataulukoita suljetuista Excel -tiedostoista. Siksi avaamme Excel -tiedoston.
Työkirjat Avaa (hakemisto ja tiedostonimi)
6. Tuo taulukot Excel-tiedostosta import-sheet.xlsm-tiedostoon.
Työkirjojen jokaiselle arkille (tiedostonimi)
yhteensä = Työkirjat ("import-sheet.xlsm"). Laskentataulukot.luku
Työkirjat (tiedostonimi). Työkirjat (arkin nimi). Kopio _
after: = Työkirjat ("import-sheet.xlsm"). Laskentataulukot (yhteensä)
Seuraava arkki
Selitys: muuttuja total seuraa tuonti-sheet.xlsm-laskentataulukoiden kokonaismäärää. Käytämme laskentataulukko-objektin Kopiointimenetelmää kunkin laskentataulukon kopioimiseen ja liittämiseen sen viimeisen import-sheet.xlsm-laskentataulukon jälkeen.
7. Sulje Excel -tiedosto.
Työkirjat (tiedostonimi) Sulje
8. Dir -toiminto on erityinen toiminto. Voit hakea muut Excel -tiedostot käyttämällä Dir -toimintoa uudelleen ilman argumentteja.
fileName = Ohjaus ()
Huomautus: Jos tiedostojen nimet eivät enää vastaa, Dir-funktio palauttaa nollapituisen merkkijonon (""). Tämän seurauksena Excel VBA poistuu Do while -silmukasta.
9. Ota näytön päivitys ja hälytykset uudelleen käyttöön (silmukan ulkopuolella).
Application.ScreenUpdating = Totta
Application.DisplayAlerts = Totta
10. Testaa ohjelma.
Tulos: