Importer ark ved hjælp af Excel VBA
Nedenfor vil vi se på et program i Excel VBA at importerer ark fra andre Excel-filer til en Excel-fil.
Download Book1.xls, Book2.xls og tilføj dem til "C: test"
Situation:
Tilføj følgende kodelinjer til kommandoknappen:
1. Først erklærer vi to variabler af typen String, et regnearkobjekt og en variabel af typen Integer.
2. Sluk for opdatering af skærm og visning af advarsler.
Application.DisplayAlerts = False
3. Initialiser den variable katalog. Vi bruger Dir-funktionen til at finde den første * .xl ?? fil gemt i denne mappe.
fileName = Dir(directory & "*.xl??")
Bemærk: Dir-funktionen understøtter brugen af jokertegn med flere tegn (*) og enkelt tegn (?) For at søge efter alle forskellige typer Excel-filer.
4. Den variable filnavn indeholder nu navnet på den første Excel-fil, der findes i mappen. Tilføj en Do While Loop.
Loop
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 på. Derfor åbner vi Excel-filen.
6. Import arkene fra Excel-filen til import-sheet.xls.
total = Workbooks("import-sheets.xls").Worksheets.count
Workbooks(fileName).Worksheets(sheet.Name).Copy _
after:=Workbooks("import-sheets.xls").Worksheets(total)
Next sheet
Forklaring: den variable sum holder oversigt over det samlede antal regneark i import-sheet.xls. Vi bruger kopimetoden til regnearkobjektet til at kopiere hvert regneark og indsætte det efter det sidste regneark på import-sheets.xls.
7. Luk Excel-filen.
8. Dir-funktionen er en speciel funktion. For at få de andre Excel-filer, kan du bruge Dir-funktionen igen uden argumenter.
Bemærk: Når der ikke matches flere filnavne, returnerer funktionen Dir en nullængdesnor (""). Som et resultat vil Excel VBA forlade Do While loop.
9. Tænd for skærmopdatering og vis alarmer igen (uden for sløjfen).
Application.DisplayAlerts = True
10. Test programmet.
Resultat: