Μετάβαση στο κύριο περιεχόμενο

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

Συγγραφέας: Τεχνική Υποστήριξη Τελευταία τροποποίηση: 2020-05-15

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


Συνδυάστε πολλά βιβλία εργασίας σε ένα βιβλίο εργασίας με τη λειτουργία Μετακίνηση ή Αντιγραφή

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

1. Ανοίξτε τα βιβλία εργασίας που θα συγχωνευτείτε σε ένα κύριο βιβλίο εργασίας.

2. Επιλέξτε τα φύλλα εργασίας στο αρχικό βιβλίο εργασίας που θα μετακινήσετε ή αντιγράψετε στο κύριο βιβλίο εργασίας.

:

1). Μπορείτε να επιλέξετε πολλά μη γειτονικά φύλλα εργασίας κρατώντας το Ctrl πλήκτρο και κάνοντας κλικ στις καρτέλες φύλλων μία προς μία.

2). Για την επιλογή πολλαπλών γειτονικών φύλλων εργασίας, κάντε κλικ στην πρώτη καρτέλα φύλλου, κρατήστε πατημένο το αλλαγή και, στη συνέχεια, κάντε κλικ στην τελευταία καρτέλα φύλλου για να τα επιλέξετε όλα.

3). Μπορείτε να κάνετε δεξί κλικ σε οποιαδήποτε καρτέλα φύλλου, να κάνετε κλικ στο Επιλέξτε Όλα τα φύλλα από το μενού περιβάλλοντος για να επιλέξετε όλα τα φύλλα εργασίας στο βιβλίο εργασίας ταυτόχρονα.

3. Αφού επιλέξετε τα απαραίτητα φύλλα εργασίας, κάντε δεξί κλικ στην καρτέλα φύλλων και, στη συνέχεια, κάντε κλικ στο Μετακίνηση ή Αντιγραφή από το μενού περιβάλλοντος. Δείτε το στιγμιότυπο οθόνης:

4. Τότε το Μετακίνηση ή Αντιγραφή εμφανίζεται ο διάλογος, στο Να κάνετε κράτηση αναπτυσσόμενο μενού, επιλέξτε το κύριο βιβλίο εργασίας στο οποίο θα μετακινήσετε ή θα αντιγράψετε φύλλα εργασίας. Επιλέξτε μετακίνηση για τερματισμό στο Πριν από το φύλλο πλαίσιο, επιλέξτε το Δημιουργήστε ένα αντίγραφο πλαίσιο και, τέλος, κάντε κλικ στο OK κουμπί.

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


Συνδυάστε πολλά βιβλία εργασίας ή καθορισμένα φύλλα βιβλίων εργασίας σε ένα κύριο βιβλίο εργασίας με το VBA

Εάν υπάρχουν πολλά βιβλία εργασίας που πρέπει να συγχωνευτούν σε ένα, μπορείτε να εφαρμόσετε τους ακόλουθους κωδικούς VBA για να το επιτύχετε γρήγορα. Κάντε τα εξής:

1. Βάλτε όλα τα βιβλία εργασίας που θέλετε να συνδυάσετε σε ένα στον ίδιο κατάλογο.

2. Εκκινήστε ένα αρχείο Excel (αυτό το βιβλίο εργασίας θα είναι το κύριο βιβλίο εργασίας).

3. Πάτα το άλλος + F11 για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο. Στο Microsoft Visual Basic για εφαρμογές παράθυρο, κάντε κλικ στην επιλογή Κύριο θέμα > Μονάδα μέτρησηςκαι, στη συνέχεια, αντιγράψτε τον παρακάτω κώδικα VBA στο παράθυρο Module.

Κωδικός VBA 1: Συγχώνευση πολλαπλών βιβλίων εργασίας Excel σε ένα

Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xlsx")
  Do While Filename <> ""
  Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
     For Each Sheet In ActiveWorkbook.Sheets
     Sheet.Copy After:=ThisWorkbook.Sheets(1)
  Next Sheet
     Workbooks(Filename).Close
     Filename = Dir()
  Loop
End Sub
	

:

1. Ο παραπάνω κωδικός VBA θα διατηρήσει τα ονόματα φύλλων των αρχικών βιβλίων εργασίας μετά τη συγχώνευση.

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

3. Εάν θέλετε απλώς να συνδυάσετε συγκεκριμένα φύλλα εργασίας των βιβλίων εργασίας σε ένα κύριο βιβλίο εργασίας, ο παρακάτω κώδικας VBA 3 μπορεί να βοηθήσει.

Στους κωδικούς VBA, «C: \ Users \ DT168 \ Desktop \ KTE \Είναι η διαδρομή του φακέλου. Στον κωδικό VBA 3, "Φύλλο1, Φύλλο3"είναι τα καθορισμένα φύλλα εργασίας των βιβλίων εργασίας που θα συνδυάσετε με ένα κύριο βιβλίο εργασίας. Μπορείτε να τα αλλάξετε ανάλογα με τις ανάγκες σας.

Κωδικός VBA 2: Συγχώνευση βιβλίων εργασίας σε ένα (κάθε φύλλο εργασίας θα ονομάζεται με το πρόθεμα του αρχικού του ονόματος αρχείου):

Sub MergeWorkbooks()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\DT168\Desktop\KTE\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
    Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
    xStrAWBName = ActiveWorkbook.Name
    For Each xWS In ActiveWorkbook.Sheets
    xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
    Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
    xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
    Next xWS
    Workbooks(xStrAWBName).Close
    xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Κωδικός VBA 3: Συγχώνευση καθορισμένων φύλλων εργασίας των βιβλίων εργασίας σε ένα κύριο βιβλίο εργασίας:

Sub MergeSheets2()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next

xStrPath = " C:\Users\DT168\Desktop\KTE\"
xStrName = "Sheet1,Sheet3"

xArr = Split(xStrName, ",")

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

4. Πάτα το F5 κλειδί για την εκτέλεση του κώδικα. Στη συνέχεια, όλα τα φύλλα εργασίας ή τα καθορισμένα φύλλα εργασίας των βιβλίων εργασίας στον συγκεκριμένο φάκελο συνδυάζονται με ένα κύριο βιβλίο εργασίας ταυτόχρονα.


Συνδυάστε εύκολα πολλά βιβλία εργασίας ή καθορισμένα φύλλα βιβλίων εργασίας σε ένα βιβλίο εργασίας

Ευτυχώς, το Συνδυασμός χρησιμότητα του βιβλίου εργασίας του Kutools για Excel καθιστά πολύ πιο εύκολο να συγχωνεύσετε πολλά βιβλία εργασίας σε ένα. Ας δούμε πώς να λειτουργήσει αυτή η λειτουργία συνδυάζοντας πολλά βιβλία εργασίας.

Πριν από την εφαρμογή Kutools για Excel, σας παρακαλούμε κατεβάστε και εγκαταστήστε το πρώτα.

1. Δημιουργήστε ένα νέο βιβλίο εργασίας και κάντε κλικ στο Kutools Plus > Συνδυασμός. Στη συνέχεια, εμφανίζεται ένα παράθυρο διαλόγου για να σας υπενθυμίσει ότι όλα τα συνδυασμένα βιβλία εργασίας πρέπει να αποθηκευτούν και ότι η δυνατότητα δεν μπορεί να εφαρμοστεί σε προστατευμένα βιβλία εργασίας, κάντε κλικ στο OK κουμπί.

2. Στο Συνδυάστε φύλλα εργασίας οδηγός, επιλέξτε Συνδυάστε πολλά φύλλα εργασίας από βιβλία εργασίας σε ένα βιβλίο εργασίας και στη συνέχεια κάντε κλικ στο Επόμενο κουμπί. Δείτε το στιγμιότυπο οθόνης:

3. Στο Συνδυάστε τα φύλλα εργασίας - Βήμα 2 από 3 , κάντε κλικ στο Πρόσθεση > Αρχεία or Folder για να προσθέσετε τα αρχεία Excel που θα συγχωνευτείτε σε ένα. Αφού προσθέσετε τα αρχεία Excel, κάντε κλικ στο φινίρισμα κουμπί και επιλέξτε ένα φάκελο για να αποθηκεύσετε το κύριο βιβλίο εργασίας. Δείτε το στιγμιότυπο οθόνης:

Τώρα όλα τα βιβλία εργασίας συγχωνεύονται σε ένα.

Σε σύγκριση με τις παραπάνω δύο μεθόδους, Kutools για Excel έχει τα ακόλουθα πλεονεκτήματα:

  • 1) Όλα τα βιβλία εργασίας και τα φύλλα εργασίας παρατίθενται στο παράθυρο διαλόγου.
  • 2) Για τα φύλλα εργασίας που θέλετε να εξαιρέσετε από τη συγχώνευση, απλώς αποεπιλέξτε το.
  • 3) Τα κενά φύλλα εργασίας εξαιρούνται αυτόματα.
  • 4) Το αρχικό όνομα αρχείου θα προστεθεί ως πρόθεμα στο όνομα του φύλλου μετά τη συγχώνευση.
  • Για περισσότερες λειτουργίες αυτής της δυνατότητας, παρακαλώ επισκεφθείτε εδώ.

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


Kutools για Excel - Σας βοηθά να ολοκληρώνετε πάντα τη δουλειά μπροστά στο χρόνο, να έχετε περισσότερο χρόνο για να απολαύσετε τη ζωή
Βρίσκεστε συχνά στον εαυτό σας να παίζετε με την εργασία, την έλλειψη χρόνου για να περάσετε για τον εαυτό σας και την οικογένειά σας;  Kutools για Excel μπορεί να σας βοηθήσει να αντιμετωπίσετε 80% Τα παζλ του Excel και βελτιώνουν την απόδοση της εργασίας κατά 80%, σας δίνουν περισσότερο χρόνο για να φροντίσετε την οικογένεια και να απολαύσετε τη ζωή.
300 προηγμένα εργαλεία για 1500 σενάρια εργασίας, κάνουν τη δουλειά σας πολύ πιο εύκολη από ποτέ.
Δεν χρειάζεστε πλέον τύπους απομνημόνευσης και κωδικούς VBA, δώστε στον εγκέφαλό σας ξεκούραση από τώρα και στο εξής.
Περίπλοκες και επαναλαμβανόμενες λειτουργίες μπορούν να γίνουν μία φορά επεξεργασία σε δευτερόλεπτα.
Μειώστε χιλιάδες χειρισμούς πληκτρολογίου και ποντικιού καθημερινά, πείτε αντίο στις επαγγελματικές ασθένειες τώρα.
Γίνετε ειδικός του Excel σε 3 λεπτά, θα σας βοηθήσουν να αναγνωρίσετε γρήγορα και να προωθήσετε μια αύξηση μισθών.
110,000 εξαιρετικά αποτελεσματικοί άνθρωποι και 300+ παγκοσμίως γνωστές εταιρείες.
Κερδίστε 39.0 $ αξίας άνω των 4000.0 $ για εκπαίδευση άλλων.
Δωρεάν δοκιμή πλήρους δυνατότητας 30 ημερών. Εγγύηση επιστροφής χρημάτων 60 ημερών χωρίς λόγο.

Comments (146)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have one workbook with 100+ sheets, I want to move all 100+ sheets into another workbook in a single sheet.
This comment was minimized by the moderator on the site
I had to read throught the comments to find suggestions that worked for my application of the VBA CODE 2, but I managed to get it to work doing the following things:
1. make sure to change "C:\Users\DT168\Desktop\KTE\" to your own directory to wherever you have your files are located. don't forget the extra "\" at the end!2. my spreadsheets were extension ".xls", so I deleted the extra "x" in this line, like so: xStrFName = Dir(xStrPath & "*.xlsx")3. I placed all my spreadsheets in a single folder, and only those files were the contents of that folder, the target macro enabled spreadsheet where this vba was running from was saved outside of this folder (hopefully this makes sense).
one thing that I didn't want to mess with though is I only needed to merge the 1st tab of each spreadsheet, but I didn't want to mess with the code so if each workbook you want to merge into one has multiple tabs, this code will grab all of the tabs on each workbook and place them in your target spreadsheet, I had to manually delete all the tabs I didn't want.
if the author of this vba could reply to me, how do you change the code to just copy the 1st tab as opposed to all the tabs?
thank you!
This comment was minimized by the moderator on the site
hi I want a change. If the the sheet name is same then the data should be appended in the same name sheet rather than adding a sheet. for example if i have 10 files with jan, feb, mar same sheetnames. then result should be 1 file having jan, feb, mar only 3 sheets with the data of all 10 files. thanks
This comment was minimized by the moderator on the site
Good morning,

Basically I have to copy the values of another file example c: \ test.xlsx (sheet name "date"):

I have to copy the values from A2: T20


And I have to paste in another Extract.xlsx file on the “Extracts” folder on A2.


PLEASE NOTE: You must run vba when opening the file.
This comment was minimized by the moderator on the site
Hello! I need to merge multiple files into one, that are password protected. All source files use the same password. What changes are needed to the first VBA script to merge the files without having to enter the password each time?
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations