Importera ark med Excel VBA - enkla Excel -makron

Innehållsförteckning

Nedan kommer vi att titta på ett program i Excel VBA det där importerar ark från andra Excel -filer till en Excel -fil.

Ladda ner Book4.xlsx, Book5.xlsx och lägg till dem i "C: \ test \"

Situation:

Lägg till följande kodrader till kommandoknappen:

1. Först deklarerar vi två variabler av typ String, ett kalkylbladsobjekt och en variabel av typen Heltal.

Dim katalog som sträng, filnamn som sträng, blad som kalkylblad, totalt som heltal

2. Stäng av skärmuppdatering och visning av varningar.

Application.ScreenUpdating = Falskt
Application.DisplayAlerts = Falskt

3. Initiera variabelkatalogen. Vi använder Dir -funktionen för att hitta den första *.xl ?? filen lagrad i den här katalogen.

katalog = "c: \ test \"
fileName = Dir (katalog och "*.xl ??")

Obs! Dir -funktionen stöder användning av flera tecken (*) och enkla tecken (?) Jokertecken för att söka efter alla olika typer av Excel -filer.

4. Variabeln filnamn innehåller nu namnet på den första Excel -filen som finns i katalogen. Lägg till en Do While Loop.

Gör medan filnamn ""
Slinga

Lägg till följande kodrader (vid 5, 6, 7 och 8) till slingan.

5. Det finns inget enkelt sätt att kopiera kalkylblad från slutna Excel -filer. Därför öppnar vi Excel -filen.

Workbooks.Open (katalog och filnamn)

6. Importera arken från Excel-filen till import-sheet.xlsm.

För varje ark i arbetsböcker (filnamn) .Worksheets
total = Workbooks ("import-sheets.xlsm"). Worksheets.count
Arbetsböcker (filnamn). Arbetsblad (bladnamn) .Kopia _
after: = Arbetsböcker ("import-sheets.xlsm"). Arbetsblad (totalt)
Nästa blad

Förklaring: variabeln totalt håller koll på det totala antalet kalkylblad för import-sheet.xlsm. Vi använder kopieringsmetoden för kalkylbladobjektet för att kopiera varje kalkylblad och klistra in det efter det sista kalkylbladet med import-sheets.xlsm.

7. Stäng Excel -filen.

Arbetsböcker (filnamn). Stäng

8. Dir -funktionen är en speciell funktion. För att få de andra Excel -filerna kan du använda Dir -funktionen igen utan argument.

fileName = Dir ()

Obs! När inga fler filnamn matchar returnerar Dir-funktionen en sträng med noll längd (""). Som ett resultat kommer Excel VBA att lämna Do While -slingan.

9. Slå på skärmuppdatering och visning av varningar igen (utanför slingan).

Application.ScreenUpdating = True
Application.DisplayAlerts = True

10. Testa programmet.

Resultat:

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave