Εισαγωγή φύλλων με χρήση του Excel VBA
Παρακάτω θα δούμε ένα πρόγραμμα στο Excel VBA ότι εισάγει φύλλα από άλλα αρχεία Excel σε ένα αρχείο Excel.
Κατεβάστε Book1.xls, Book2.xls και προσθέστε τα στο "C: test"
Κατάσταση:
Προσθέστε τις ακόλουθες γραμμές κώδικα στο κουμπί εντολής:
1. Αρχικά, δηλώνουμε δύο μεταβλητές τύπου String, ένα αντικείμενο φύλλου εργασίας και μία μεταβλητή τύπου Integer.
2. Απενεργοποιήστε την ενημέρωση οθόνης και την εμφάνιση ειδοποιήσεων.
Application.DisplayAlerts = False
3. Αρχικοποιήστε τον κατάλογο μεταβλητών. Χρησιμοποιούμε τη λειτουργία Dir για να βρούμε την πρώτη * .xl; αρχείου που είναι αποθηκευμένο σε αυτόν τον κατάλογο.
fileName = Dir(directory & "*.xl??")
Σημείωση: Η συνάρτηση Dir υποστηρίζει τη χρήση χαρακτήρων πολλαπλών χαρακτήρων (*) και απλών χαρακτήρων (?) Για την αναζήτηση όλων των διαφορετικών τύπων αρχείων του Excel.
4. Η μεταβλητή fileName περιέχει τώρα το όνομα του πρώτου αρχείου Excel που βρίσκεται στον κατάλογο. Προσθέστε ένα Do While Loop.
Loop
Προσθέστε τις ακόλουθες γραμμές κώδικα (στις 5, 6, 7 και 8) στον βρόχο.
5. Δεν υπάρχει απλός τρόπος για την αντιγραφή φύλλων εργασίας από κλειστά αρχεία του Excel. Επομένως, ανοίγουμε το αρχείο Excel.
6. Εισαγάγετε τα φύλλα από το αρχείο Excel στο 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
Εξήγηση: το μεταβλητό σύνολο παρακολουθεί το συνολικό αριθμό των φύλλων εργασίας του φύλλου εισαγωγής.xls. Χρησιμοποιούμε τη μέθοδο αντιγραφής του αντικειμένου του φύλλου εργασίας, για να αντιγράψουμε κάθε φύλλο εργασίας και να το επικολλήσουμε μετά το τελευταίο φύλλο εργασίας των εισαγωγικών φύλλων.xls.
7. Κλείστε το αρχείο Excel.
8. Η λειτουργία Dir είναι μια ειδική λειτουργία. Για να έχετε τα άλλα αρχεία του Excel, μπορείτε να χρησιμοποιήσετε ξανά τη λειτουργία Dir χωρίς κανένα επιχείρημα.
Σημείωση: Όταν δεν συμφωνούν περισσότερα ονόματα αρχείων, η συνάρτηση Dir επιστρέφει μια συμβολοσειρά μηδενικού μήκους (""). Ως αποτέλεσμα, το Excel VBA θα αφήσει το βρόχο Do While.
9. Ενεργοποιήστε την ενημέρωση της οθόνης και εμφανίστε ξανά τις ειδοποιήσεις (εκτός του βρόχου).
Application.DisplayAlerts = True
10. Ελέγξτε το πρόγραμμα.
Αποτέλεσμα: