/ / Tuonti taulukot Excel VBA

Tuo taulukot Excel VBA: n avulla

Alla tarkastelemme ohjelmaa Excel VBA että Tuo levyt muista Excel-tiedostoista yhdeksi Excel-tiedostoksi.

Lataa Book1.xls, Book2.xls ja lisää ne "C: testiin"

Tilanne:

Tuo taulukot Excel VBA: n avulla

Lisää komentoriviin seuraavat komentorivit:

1. Ensin mainostetaan kaksi tyypin String-muuttujaa, Worksheet objektia ja yksi tyypin Integer-muuttuja.

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

2. Sammuta näytön päivitys ja näytä hälytykset.

Application.ScreenUpdating = False
Application.DisplayAlerts = False

3. Alusta muuttujan hakemisto. Käytämme Dir-toimintoa löytää ensimmäinen * .xl? tiedosto tallennetaan tähän hakemistoon.

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

Huomaa: Dir-toiminto tukee useiden merkkien (*) ja yksittäisten merkkien (?) Käyttöä haettaessa kaikkia Excel-tiedostojen eri tyyppejä.

4. Muuttuva tiedostonimi on nyt hakemiston ensimmäisen Excel-tiedoston nimi. Lisää Do While Loop.

Do While fileName <> ""

Loop

Lisää silmukkaan seuraavat koodirivit (5, 6, 7 ja 8).

5. Ei ole helppoa kopioida laskentataulukoita suljetuista Excel-tiedostoista. Siksi avaamme Excel-tiedoston.

Workbooks.Open (directory & fileName)

6. Tuo levyt Excel-tiedostosta import-sheet.xls-tiedostoon.

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

Selitys: muuttujan kokonaismäärä pitää kirjaa import-sheet.xls-lomakkeiden kokonaismäärästä. Käytämme Tehtävä-objektin kopiointimenetelmää kopioimaan jokaisen laskentataulukon ja liitä se tuonnin-sheets.xls viimeisen laskentataulukon jälkeen.

7. Sulje Excel-tiedosto.

Workbooks(fileName).Close

8. Dir-toiminto on erikoistoiminto. Jos haluat saada muut Excel-tiedostot, voit käyttää Dir-funktiota uudelleen ilman argumentteja.

fileName = Dir()

Huomaa: Kun tiedostonimiä ei enää ole, Dir-funktio palauttaa nollan pituisen merkkijonon (""). Tämän seurauksena Excel VBA jättää Do Whilein silmukan.

9. Käynnistä näytön päivitys ja näytä hälytykset uudelleen (silmukan ulkopuolella).

Application.ScreenUpdating = True
Application.DisplayAlerts = True

10. Testaa ohjelma.

Tulos:

Tuo taulukot Tulos

Lue myös: