Importer ark med Excel VBA - Enkle Excel -makroer

Innholdsfortegnelse

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

Last ned Book4.xlsx, Book5.xlsx og legg dem til "C: \ test \"

Situasjon:

Legg til følgende kodelinjer på kommandoknappen:

1. Først deklarerer vi to variabler av typen String, et regnearkobjekt og en variabel av typen Heltall.

Dim katalog som streng, filnavn som streng, ark som regneark, totalt som heltall

2. Slå av skjermoppdatering og visning av varsler.

Application.ScreenUpdating = Falsk
Application.DisplayAlerts = Falsk

3. Initialiser variabelkatalogen. Vi bruker Dir -funksjonen for å finne den første *.xl ?? filen lagret i denne katalogen.

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

Merk: Dir -funksjonen støtter bruk av flere tegn (*) og enkelttegn (?) Jokertegn for å søke etter alle forskjellige typer Excel -filer.

4. Variabelen fileName har nå navnet på den første Excel -filen som finnes i katalogen. Legg til en Do While Loop.

Gjør mens filnavn ""
Løkke

Legg til følgende kodelinjer (ved 5, 6, 7 og 8) i løkken.

5. Det er ingen enkel måte å kopiere regneark fra lukkede Excel -filer. Derfor åpner vi Excel -filen.

Workbooks.Open (katalog og filnavn)

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

For hvert ark i arbeidsbøker (filnavn). Arbeidsark
total = arbeidsbøker ("import-sheets.xlsm"). Worksheets.count
Arbeidsbøker (filnavn). Arbeidsark (arknavn). Kopi _
after: = Arbeidsbøker ("import-sheets.xlsm"). Regneark (totalt)
Neste ark

Forklaring: variabelen totalt holder oversikt over det totale antallet regneark for import-sheet.xlsm. Vi bruker kopieringsmetoden for regnearkobjektet til å kopiere hvert regneark og lime det inn etter det siste regnearket med import-sheets.xlsm.

7. Lukk Excel -filen.

Arbeidsbøker (filnavn). Lukk

8. Dir -funksjonen er en spesiell funksjon. For å få de andre Excel -filene kan du bruke Dir -funksjonen igjen uten argumenter.

filnavn = Dir ()

Merk: Når ikke flere filnavn samsvarer, returnerer Dir-funksjonen en streng med null lengde (""). Som et resultat vil Excel VBA forlate Do While -løkken.

9. Slå på oppdatering av skjermen og visning av varsler igjen (utenfor sløyfen).

Application.ScreenUpdating = True
Application.DisplayAlerts = True

10. Test programmet.

Resultat:

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave