Importer ark ved hjælp af Excel VBA - nemme Excel -makroer

Indholdsfortegnelse

Nedenfor ser vi på et program i Excel VBA at importerer ark fra andre Excel -filer til en Excel -fil.

Download Book4.xlsx, Book5.xlsx og tilføj dem til "C: \ test \"

Situation:

Tilføj følgende kodelinjer til kommandoknappen:

1. For det første erklærer vi to variabler af type String, et regnearksobjekt og en variabel af typen Heltal.

Dim bibliotek som streng, filnavn som streng, ark som regneark, totalt som heltal

2. Slå skærmopdatering og visning af advarsler fra.

Application.ScreenUpdating = Falsk
Application.DisplayAlerts = Falsk

3. Initialiser det variable bibliotek. Vi bruger Dir -funktionen til at finde den første *.xl ?? fil gemt i dette bibliotek.

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

Bemærk: Dir -funktionen understøtter brug af flere tegn (*) og enkelttegn (?) Jokertegn til at søge efter alle forskellige typer Excel -filer.

4. Variablen filnavn har nu navnet på den første Excel -fil, der findes i biblioteket. Tilføj en Do While Loop.

Gør mens filnavn ""
Sløjfe

Tilføj følgende kodelinjer (ved 5, 6, 7 og 8) til sløjfen.

5. Der er ingen enkel måde at kopiere regneark fra lukkede Excel -filer. Derfor åbner vi Excel -filen.

Workbooks.Open (bibliotek og filnavn)

6. Importer arkene fra Excel-filen til import-sheet.xlsm.

For hvert ark i projektmapper (filnavn) .Worksheets
total = Workbooks ("import-sheets.xlsm"). Worksheets.count
Workbooks (fileName) .Worksheets (sheet.Name) .Copy _
after: = Workbooks ("import-sheets.xlsm"). Regneark (i alt)
Næste ark

Forklaring: Den variable total holder styr på det samlede antal regneark for import-sheet.xlsm. Vi bruger kopimetoden for regnearksobjektet til at kopiere hvert regneark og indsætte det efter det sidste regneark med import-sheets.xlsm.

7. Luk Excel -filen.

Arbejdsbøger (filnavn). Luk

8. Dir -funktionen er en særlig funktion. For at få de andre Excel -filer kan du bruge Dir -funktionen igen uden argumenter.

filnavn = Dir ()

Bemærk: Når ikke flere filnavne matcher, returnerer Dir-funktionen en streng med nul længde (""). Som et resultat vil Excel VBA forlade Do While -løkken.

9. Tænd for skærmopdatering og visning af advarsler igen (uden for sløjfen).

Application.ScreenUpdating = True
Application.DisplayAlerts = True

10. Test programmet.

Resultat:

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave