/ / / Εισαγωγή φύλλων χρησιμοποιώντας Excel VBA

Εισαγωγή φύλλων με χρήση του Excel VBA

Παρακάτω θα δούμε ένα πρόγραμμα στο Excel VBA ότι εισάγει φύλλα από άλλα αρχεία Excel σε ένα αρχείο Excel.

Κατεβάστε Book1.xls, Book2.xls και προσθέστε τα στο "C: test"

Κατάσταση:

Εισαγωγή φύλλων με χρήση του Excel VBA

Προσθέστε τις ακόλουθες γραμμές κώδικα στο κουμπί εντολής:

1. Αρχικά, δηλώνουμε δύο μεταβλητές τύπου String, ένα αντικείμενο φύλλου εργασίας και μία μεταβλητή τύπου Integer.

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

2. Απενεργοποιήστε την ενημέρωση οθόνης και την εμφάνιση ειδοποιήσεων.

Application.ScreenUpdating = False
Application.DisplayAlerts = False

3. Αρχικοποιήστε τον κατάλογο μεταβλητών. Χρησιμοποιούμε τη λειτουργία Dir για να βρούμε την πρώτη * .xl; αρχείου που είναι αποθηκευμένο σε αυτόν τον κατάλογο.

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

Σημείωση: Η συνάρτηση Dir υποστηρίζει τη χρήση χαρακτήρων πολλαπλών χαρακτήρων (*) και απλών χαρακτήρων (?) Για την αναζήτηση όλων των διαφορετικών τύπων αρχείων του Excel.

4. Η μεταβλητή fileName περιέχει τώρα το όνομα του πρώτου αρχείου Excel που βρίσκεται στον κατάλογο. Προσθέστε ένα Do While Loop.

Do While fileName <> ""

Loop

Προσθέστε τις ακόλουθες γραμμές κώδικα (στις 5, 6, 7 και 8) στον βρόχο.

5. Δεν υπάρχει απλός τρόπος για την αντιγραφή φύλλων εργασίας από κλειστά αρχεία του Excel. Επομένως, ανοίγουμε το αρχείο Excel.

Workbooks.Open (directory & fileName)

6. Εισαγάγετε τα φύλλα από το αρχείο Excel στο import-sheet.xls.

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

Εξήγηση: το μεταβλητό σύνολο παρακολουθεί το συνολικό αριθμό των φύλλων εργασίας του φύλλου εισαγωγής.xls. Χρησιμοποιούμε τη μέθοδο αντιγραφής του αντικειμένου του φύλλου εργασίας, για να αντιγράψουμε κάθε φύλλο εργασίας και να το επικολλήσουμε μετά το τελευταίο φύλλο εργασίας των εισαγωγικών φύλλων.xls.

7. Κλείστε το αρχείο Excel.

Workbooks(fileName).Close

8. Η λειτουργία Dir είναι μια ειδική λειτουργία. Για να έχετε τα άλλα αρχεία του Excel, μπορείτε να χρησιμοποιήσετε ξανά τη λειτουργία Dir χωρίς κανένα επιχείρημα.

fileName = Dir()

Σημείωση: Όταν δεν συμφωνούν περισσότερα ονόματα αρχείων, η συνάρτηση Dir επιστρέφει μια συμβολοσειρά μηδενικού μήκους (""). Ως αποτέλεσμα, το Excel VBA θα αφήσει το βρόχο Do While.

9. Ενεργοποιήστε την ενημέρωση της οθόνης και εμφανίστε ξανά τις ειδοποιήσεις (εκτός του βρόχου).

Application.ScreenUpdating = True
Application.DisplayAlerts = True

10. Ελέγξτε το πρόγραμμα.

Αποτέλεσμα:

Εισαγωγή φύλλων εισαγωγής

Επίσης διαβάστε: