Πώς να συνδυάσετε πολλά αρχεία Excel σε ένα βιβλίο εργασίας του Excel

Πήρα μια κλήση από έναν φίλο που ήθελε να συνδυάσει πολλά αρχεία Excel σε ένα βιβλίο εργασίας του Excel. Είχε πολλά αρχεία σε ένα φάκελο και ήθελε να πάρει όλα τα φύλλα εργασίας από όλα τα βιβλία εργασίας σε ένα μόνο βιβλίο εργασίας.

Αν και αυτό μπορεί να γίνει χειροκίνητα, θα ήταν χρονοβόρο και επιρρεπές σε σφάλματα.

Ωστόσο, ένας απλός κώδικας VBA μπορεί να το κάνει αυτό σε λίγα δευτερόλεπτα.

Συνδυάστε πολλά αρχεία Excel σε ένα αρχείο

Ακολουθεί ο κώδικας που μπορεί να συνδυάσει πολλά βιβλία εργασίας Excel σε έναν καθορισμένο φάκελο σε ένα ενιαίο βιβλίο εργασίας του Excel:

Sub ConslidateWorkbooks () 'Created by Sumit Bansal from https://trumpexcel.com Dim FolderPath As String Dim Name Name As String Dim Sheet As Worksheet Application.ScreenUpdating = False FolderPath = Environ ("userprofile") & "DesktopTest" Filename = Dir ( FolderPath & "*.xls*") Do while Filename "" Workbooks.Open Filename: = FolderPath & Filename, ReadOnly: = True for Every Sheet In ActiveWorkbook.Sheets Sheet.Copy After: = ThisWorkbook.Sheets (1) Next Sheet Workbooks (Όνομα αρχείου). Κλείσιμο Όνομα αρχείου = Dir () Loop Application.ScreenUpdating = True End Sub

Πώς να χρησιμοποιήσετε αυτόν τον κώδικα;

Ακολουθούν τα βήματα για τη χρήση αυτού του κώδικα:

  • Τοποθετήστε όλα τα αρχεία Excel που θέλετε να συνδυάσετε σε ένα φάκελο. Για τους σκοπούς αυτού του σεμιναρίου, έχω δημιουργήσει ένα φάκελο με το όνομα Test και έχω έξι αρχεία σε αυτό (4 τετράδια εργασίας Excel και 1 Power Point και Word το καθένα).
  • Ανοίξτε ένα νέο βιβλίο εργασίας Excel.
  • Πατήστε το ALT + F11 (ή μεταβείτε στο Developer -> Code -> Visual Basic). Αυτό θα ανοίξει το Visual Basic Editor.
  • Στο VB Editor, στο Project Editor, κάντε δεξί κλικ σε οποιοδήποτε από τα αντικείμενα του βιβλίου εργασίας και μεταβείτε στην ενότητα Εισαγωγή -> Ενότητα. Αυτό θα εισαγάγει μια ενότητα για το βιβλίο εργασίας.
  • Κάντε διπλό κλικ στη μονάδα. Θα ανοίξει το παράθυρο κώδικα στα δεξιά.
  • Αντιγράψτε και επικολλήστε τον παραπάνω κώδικα στο παράθυρο κώδικα.
  • Στον κώδικα, πρέπει να αλλάξετε την ακόλουθη γραμμή κώδικα:
    FolderPath = Environ ("userprofile") & "DesktopTest"

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

  • Τοποθετήστε τον κέρσορα οπουδήποτε στον κώδικα και κάντε κλικ στο πράσινο κουμπί αναπαραγωγής στις επιλογές της γραμμής εργαλείων (ή πατήστε το πλήκτρο F5).

Αυτό θα εκτελέσει τον κώδικα και όλα τα φύλλα εργασίας από όλα τα αρχεία Excel στο φάκελο θα ενοποιηθούν σε ένα μόνο βιβλίο εργασίας.

Πώς λειτουργεί αυτός ο κώδικας;

  • Ο κώδικας χρησιμοποιεί τη λειτουργία DIR για να πάρει τα ονόματα αρχείων από τον καθορισμένο φάκελο.
  • Η ακόλουθη γραμμή εκχωρεί το πρώτο όνομα αρχείου excel στη μεταβλητή «Όνομα αρχείου».
    Όνομα αρχείου = Dir (FolderPath & "*.xls*")
  • Στη συνέχεια, ο βρόχος Do while χρησιμοποιείται για να ελέγξει εάν έχουν καλυφθεί όλα τα αρχεία.
  • Μέσα στον βρόχο "Κάνε την ώρα", ο βρόχος "Για κάθε" χρησιμοποιείται για την αντιγραφή όλων των φύλλων εργασίας στο βιβλίο εργασίας στο οποίο εκτελούμε τον κώδικα.
  • Στο τέλος του Do Loop, χρησιμοποιείται η ακόλουθη γραμμή κώδικα: Όνομα αρχείου = Dir (). Εκχωρεί το επόμενο όνομα αρχείου Excel στη μεταβλητή Όνομα αρχείου και ο βρόχος ξεκινά ξανά.
  • Όταν καλύπτονται όλα τα αρχεία, η συνάρτηση DIR επιστρέφει μια κενή συμβολοσειρά, που είναι όταν τελειώνει ο βρόχος.

Ακολουθεί μια εξήγηση της συνάρτησης DIR στη βιβλιοθήκη MSDN:

Διευθυντής επιστρέφει το πρώτο όνομα αρχείου που ταιριάζει με το όνομα διαδρομής. Για να λάβετε τυχόν πρόσθετα ονόματα αρχείων που ταιριάζουν με το όνομα διαδρομής, καλέστε Διευθυντής πάλι χωρίς επιχειρήματα. Όταν δεν ταιριάζουν άλλα ονόματα αρχείων, Διευθυντής επιστρέφει μια συμβολοσειρά μηδενικού μήκους ("").

Έχετε δοκιμάσει ποτέ κάτι τέτοιο χρησιμοποιώντας VBA; Μοιραστείτε ό, τι κάνατε και όλοι μπορούμε να μάθουμε από αυτό.

Εξοικονομήστε τρελό ποσό στο χρόνο χρησιμοποιώντας το VBA. Δείτε το Μάθημα Excel VBA.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave