Note: The other languages of the website are Google-translated. Back to English
Σύνδεση  \/ 
x
or
x
Εγγραφή  \/ 
x

or

Πώς να χωρίσετε ένα βιβλίο εργασίας για να διαχωρίσετε αρχεία Excel στο Excel;

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

  1. Διαχωρίστε ένα βιβλίο εργασίας για να διαχωρίσετε αρχεία Excel με αντιγραφή και επικόλληση
  2. Διαχωρίστε ένα βιβλίο εργασίας για να διαχωρίσετε τα αρχεία Excel με τη δυνατότητα μετακίνησης ή αντιγραφής
  3. Διαχωρίστε ένα βιβλίο εργασίας για να διαχωρίσετε αρχεία Excel με κώδικα VBA
  4. Διαχωρίστε ένα βιβλίο εργασίας για να διαχωρίσετε εύκολα τα αρχεία Excel / PDF / CSV / TXT με το Kutools για Excel

Διαχωρίστε ένα βιβλίο εργασίας για να διαχωρίσετε αρχεία Excel με αντιγραφή και επικόλληση

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

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


Διαχωρίστε ένα βιβλίο εργασίας για να διαχωρίσετε τα αρχεία Excel με τη δυνατότητα μετακίνησης ή αντιγραφής

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

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

Note: Κράτημα Ctrl Πλήκτρο, μπορείτε να επιλέξετε πολλά μη γειτονικά φύλλα κάνοντας κλικ σε αυτά ένα προς ένα στη γραμμή καρτέλας Φύλλο. κράτημα αλλαγή κλειδί, μπορείτε να επιλέξετε πολλά παρακείμενα φύλλα κάνοντας κλικ στο πρώτο και το τελευταίο στη γραμμή καρτέλας Φύλλο.

2. Στο παράθυρο διαλόγου Μετακίνηση ή Αντιγραφή, επιλέξτε (καινούργιο βιβλίο) από το Να κάνετε κράτηση αναπτυσσόμενη λίστα, ελέγξτε το Δημιουργήστε ένα αντίγραφο και κάντε κλικ στο OK κουμπί. Δείτε το στιγμιότυπο οθόνης:

3. Τώρα όλα τα επιλεγμένα φύλλα αντιγράφονται σε ένα νέο βιβλίο εργασίας. Κάντε κλικ φιλέτο > Αποθηκεύσετε για να αποθηκεύσετε το νέο βιβλίο εργασίας.

Διαχωρίστε γρήγορα ένα βιβλίο εργασίας για να διαχωρίσετε αρχεία Excel / PDF / TXT / CSV στο Excel

Κανονικά μπορούμε να χωρίσουμε ένα βιβλίο εργασίας σε μεμονωμένα αρχεία Excel με το Μετακίνηση ή Αντιγραφή δυνατότητα στο Excel. Αλλά το Kutools για Excel Διαχωρισμός βιβλίου εργασίας Το βοηθητικό πρόγραμμα μπορεί να σας βοηθήσει να διαχωρίσετε εύκολα ένα βιβλίο εργασίας και να αποθηκεύσετε κάθε φύλλο εργασίας ως ξεχωριστό αρχείο PDF / TEXT / CSV ή βιβλίο εργασίας στο Excel. Δωρεάν δοκιμή πλήρους λειτουργίας 30 ημερών!
excel βιβλίο εργασίας διαχωρισμού διαφημίσεων

Kutools για Excel - Περιλαμβάνει περισσότερα από 300 εύχρηστα εργαλεία για το Excel. Πλήρης δωρεάν δοκιμαστική λειτουργία 30 ημερών, δεν απαιτείται πιστωτική κάρτα! Παρ'το Τώρα

Διαχωρίστε ένα βιβλίο εργασίας για να διαχωρίσετε αρχεία Excel με κώδικα VBA

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

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

2. Κρατήστε πατημένο το ALT + F11 στο Excel και ανοίγει το Microsoft Visual Basic για εφαρμογές παράθυρο.

3. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον ακόλουθο κώδικα στο παράθυρο της ενότητας.

VBA: Διαχωρίστε ένα βιβλίο εργασίας σε πολλά βιβλία εργασίας και αποθηκεύστε τον στον ίδιο φάκελο

Sub Splitbook()
'Updateby20140612
Dim xPath As String
xPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each xWs In ThisWorkbook.Sheets
    xWs.Copy
    Application.ActiveWorkbook.SaveAs Filename:=xPath & "\" & xWs.Name & ".xlsx"
    Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

4. πάτα το F5 κλειδί για την εκτέλεση αυτού του κώδικα. Και το βιβλίο εργασίας χωρίζεται για να διαχωρίσει αρχεία Excel στον ίδιο φάκελο με το αρχικό βιβλίο εργασίας. Δείτε το στιγμιότυπο οθόνης:

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

Διαχωρίστε ένα βιβλίο εργασίας για να διαχωρίσετε εύκολα τα αρχεία Excel / PDF / CSV / TXT με το Kutools για Excel

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

Kutools για Excel - Περιλαμβάνει περισσότερα από 300 εύχρηστα εργαλεία για το Excel. Πλήρης δωρεάν δοκιμαστική λειτουργία 30 ημερών, δεν απαιτείται πιστωτική κάρτα! Παρ'το Τώρα

1. Μετά την εγκατάσταση Kutools για Excel, Κλίκ Kutools Plus > Διαχωρισμός βιβλίου εργασίας , δείτε το στιγμιότυπο οθόνης:

2. Στην Διαχωρισμός βιβλίου εργασίας πλαίσιο διαλόγου, κάντε τις ακόλουθες λειτουργίες:
(1) Όλα τα ονόματα φύλλων εργασίας ελέγχονται από προεπιλογή. Εάν δεν θέλετε να διαχωρίσετε μερικά από τα φύλλα εργασίας, μπορείτε να τα καταργήσετε.
(2) Ελέγξτε το Αποθηκεύστε έναν τύπο επιλογή;
(3) Από το Αποθήκευση ως τύπου drop down, επιλέξτε έναν τύπο αρχείου που θέλετε να διαχωρίσετε και να αποθηκεύσετε.
(4) Στη συνέχεια κάντε κλικ Σπλιτ κουμπί.

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

3. Στο παράθυρο διαλόγου Αναζήτηση για φάκελο, προσδιορίστε έναν φάκελο προορισμού για να αποθηκεύσετε τα διαχωρισμένα ξεχωριστά αρχεία και κάντε κλικ στο OK κουμπί.

Τώρα τα επιλεγμένα φύλλα εργασίας αποθηκεύονται ως νέα χωριστά βιβλία εργασίας. Κάθε νέο βιβλίο εργασίας ονομάζεται με το αρχικό όνομα του φύλλου εργασίας. Δείτε το στιγμιότυπο οθόνης:

Kutools για Excel's Διαχωρισμός βιβλίου εργασίας Το εργαλείο διευκολύνει τον διαχωρισμό του ενεργού βιβλίου εργασίας σε μεμονωμένα αρχεία Excel (ένα αρχείο περιέχει ένα φύλλο εργασίας), αρχεία CSV, αρχεία TXT ή αρχεία PDF όπως χρειάζεστε. Μπορείτε να ρυθμίσετε να παραλείψετε όλα τα κενά και κρυμμένα φύλλα εργασίας. Κάντε μια δωρεάν δοκιμή!


Επίδειξη: Διαχωρίστε ή αποθηκεύστε κάθε φύλλο εργασίας ενός βιβλίου εργασίας ως ξεχωριστά αρχεία excel / txt / csv / pdf


Kutools για Excel περιλαμβάνει περισσότερα από 300 εύχρηστα εργαλεία για το Excel, δωρεάν δοκιμή χωρίς περιορισμό σε 30 ημέρες. Λήψη και δωρεάν δοκιμή τώρα!

Σχετικά άρθρα:


Τα καλύτερα εργαλεία παραγωγικότητας του Office

Το Kutools για Excel λύνει τα περισσότερα από τα προβλήματά σας και αυξάνει την παραγωγικότητά σας κατά 80%

  • Επαναχρησιμοποίηση: Εισαγάγετε γρήγορα σύνθετοι τύποι, γραφήματα και οτιδήποτε έχετε χρησιμοποιήσει στο παρελθόν. Κρυπτογράφηση κυττάρων με κωδικό πρόσβασης Δημιουργία λίστας αλληλογραφίας και στείλτε email ...
  • Super Formula Bar (επεξεργαστείτε εύκολα πολλές γραμμές κειμένου και τύπου). Διάταξη ανάγνωσης (εύκολη ανάγνωση και επεξεργασία μεγάλου αριθμού κελιών). Επικόλληση σε φιλτραρισμένο εύρος...
  • Συγχώνευση κελιών / σειρών / στηλών χωρίς απώλεια δεδομένων · Περιεχόμενο διαχωρισμού κελιών Συνδυάστε διπλές σειρές / στήλες... Αποτροπή διπλών κυττάρων; Συγκρίνετε τα εύρη...
  • Επιλέξτε Διπλότυπο ή Μοναδικό Σειρές; Επιλέξτε Κενές σειρές (όλα τα κελιά είναι κενά). Σούπερ εύρεση και ασαφής εύρεση σε πολλά βιβλία εργασίας. Τυχαία επιλογή ...
  • Ακριβές αντίγραφο Πολλαπλά κελιά χωρίς αλλαγή της αναφοράς τύπου. Αυτόματη δημιουργία αναφορών σε πολλαπλά φύλλα? Εισαγωγή κουκκίδων, Πλαίσια ελέγχου και άλλα ...
  • Εξαγωγή κειμένου, Προσθήκη κειμένου, Κατάργηση κατά θέση, Αφαιρέστε το διάστημα; Δημιουργία και εκτύπωση υποσύνολων σελιδοποίησης. Μετατροπή περιεχομένου και σχολίων μεταξύ κελιών...
  • Σούπερ φίλτρο (αποθηκεύστε και εφαρμόστε σχήματα φίλτρων σε άλλα φύλλα). Προηγμένη ταξινόμηση ανά μήνα / εβδομάδα / ημέρα, συχνότητα και άλλα. Ειδικό φίλτρο με έντονη, πλάγια ...
  • Συνδυάστε βιβλία εργασίας και φύλλα εργασίας; Συγχώνευση πινάκων βάσει βασικών στηλών. Διαχωρίστε τα δεδομένα σε πολλά φύλλα; Μαζική μετατροπή xls, xlsx και PDF...
  • Περισσότερα από 300 ισχυρά χαρακτηριστικά. Υποστηρίζει Office / Excel 2007-2019 και 365. Υποστηρίζει όλες τις γλώσσες. Εύκολη ανάπτυξη στην επιχείρηση ή τον οργανισμό σας. Πλήρεις δυνατότητες δωρεάν δοκιμής 30 ημερών. Εγγύηση επιστροφής χρημάτων 60 ημερών.
kte καρτέλα 201905

Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Waqa · 22 days ago
    xWs.Copy

    showing error in this area
  • To post as a guest, your comment is unpublished.
    Jakub · 3 months ago
    Hello, I just tried the split data function based on the first column (about 90 partners). Half of the worksheets are named correctly while the other just have number of the sheet eventhough there is name of the partner in the column. Any help, please?
  • To post as a guest, your comment is unpublished.
    Sudarshan · 9 months ago
    i have a data of 5 worksheets. Every worksheet has a common column (Branch). Can i convert the data into different excel files based on respective branches
    • To post as a guest, your comment is unpublished.
      kellytte · 9 months ago
      Hi Sudarshan,
      Kutools for Excel has an amazing feature – Split Data, which can quickly split data from a range or a sheet to multiple sheets based on values in the specified column. And these sheets are saved in a new workbook.

      You can apply the Split Data feature to split each sheet based on the specified common column.
      After splitting, you can apply the Combine Worksheets feature, also provided by Kutools for Excel, and combine all same name worksheets into one workbook.
  • To post as a guest, your comment is unpublished.
    prateeksha · 1 years ago
    excel which i want to split is having 3 spread sheet my requirement is to split the excel as per the sheet 1 and remaning to sheet to be contant when file split
    • To post as a guest, your comment is unpublished.
      kellytte · 1 years ago
      Hi prateeksha,
      In the fourth method on this webpage, the Split Workbook feature of Kutools for Excel is recommended, which will split every specified worksheet to individual PDF/CSV/TEXT/Workbooks.
  • To post as a guest, your comment is unpublished.
    Kevin · 1 years ago
    Hey there,
    I was wondering if we can use this macro to split the workbook into csv files
    I've changed the VBA as below, replacing "xlsx" with "csv", but it doesn't work:
    Application.ActiveWorkbook.SaveAs Filename:=xPath & "\" & xWs.Name & ".csv"
    Thanks for your help!
    • To post as a guest, your comment is unpublished.
      kellytte · 1 years ago
      Hi Kevin,
      It recommends trying the fourth method to solve your problem. Kutools for Excel can be freely trial for 30 days. And the Split Workbook feature of Kutools for Excel can solve the problem easily.
  • To post as a guest, your comment is unpublished.
    exceluser25 · 1 years ago
    Very helpful code. Just had one question. How can I make these excel files read-only. I tried the below but it did not work.

    Application.ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
  • To post as a guest, your comment is unpublished.
    Denise Wood · 1 years ago
    Hello,
    Thank you so much for this code. I have used it a few additions successfully many times. However it will no longer work. It saves one file with the name Sheet 1 and it is blank. Any assistance would be greatly appreciated. Thank you!
  • To post as a guest, your comment is unpublished.
    Suraj · 1 years ago
    how can i undo it?
    I mean i split all the sheets, worked on it and now I want all the sheets just like before. PL help
  • To post as a guest, your comment is unpublished.
    Richie · 1 years ago
    Wow. This is a very nice elaboration. you saved the day.
  • To post as a guest, your comment is unpublished.
    Gerdy · 1 years ago
    If I wanted to split the workbook's collection worksheets by fives into workbooks, is that possible? Meaning, If I have 100 worksheets in a workbook, I want to automate using 5 worksheets at a time to make a workbook, which will end with 20 workbooks being made. How do you tweak the code to do this?
  • To post as a guest, your comment is unpublished.
    Gborka · 1 years ago
    VBA works. If not - Probable errors root cause: This VBA cannot handle HIDDEN SHEETS or if one of the sheets has the same name with the workbook.
    • To post as a guest, your comment is unpublished.
      kellytte · 1 years ago
      Hi Gborka,
      You can use the Split Workbook feature of Kutools for Excel, which can export hidden worksheets, and export all worksheets no matter what sheet names are.
  • To post as a guest, your comment is unpublished.
    Влад · 2 years ago
    Спасибо большое, всё работает.
  • To post as a guest, your comment is unpublished.
    Denise · 2 years ago
    Will this VBA work for Mac? It works perfectly for my PC but my manager uses a Mac.
    • To post as a guest, your comment is unpublished.
      Salim · 2 years ago
      Yes!! I just used it on Mac. However you will need to change some thing. The back slash into front slash /. I have already done it. Copy paste it. It will work. Let me know if it doesn't.

      Sub Splitbook()
      'Updateby20140612
      Dim xPath As String
      xPath = Application.ActiveWorkbook.Path
      Application.ScreenUpdating = False
      Application.DisplayAlerts = False
      For Each xWs In ThisWorkbook.Sheets
      xWs.Copy
      Application.ActiveWorkbook.SaveAs Filename:=xPath & "/" & xWs.Name & ".xlsx"
      Application.ActiveWorkbook.Close False
      Next
      Application.DisplayAlerts = True
      Application.ScreenUpdating = True
      End Sub
  • To post as a guest, your comment is unpublished.
    Ambarella · 2 years ago
    The version vba code is not working right, I have a "macros" file where I keep all my macros and have it open when I'm going to use them, and I'm running this one in the file that I need to be splitted but it splits the macros file.
  • To post as a guest, your comment is unpublished.
    User1 · 2 years ago
    Thank you!
  • To post as a guest, your comment is unpublished.
    M. Rameez · 2 years ago
    I found this really help full. Thanks! :)
  • To post as a guest, your comment is unpublished.
    alfonso · 2 years ago
    getting runtime error 1004
    • To post as a guest, your comment is unpublished.
      Christopher Lacey · 2 years ago
      I am as well, I have used this several times in the past but it is not working now
      • To post as a guest, your comment is unpublished.
        Gborka · 1 years ago
        1004 error root cause: This VBA cannot handle hidden sheets or if one of the sheets has the same name with the workbook.
  • To post as a guest, your comment is unpublished.
    Web7 · 2 years ago
    Does anyone know how to make this code work for a mac?
    It is showing an error when trying to locate the document.
    • To post as a guest, your comment is unpublished.
      Dan Turney · 2 years ago
      Change "\" to "/" worked for me. Wow!
  • To post as a guest, your comment is unpublished.
    Ronnie · 2 years ago
    Amazing script and instructions. Just saved me from splitting 30+Worksheets to separate files
    • To post as a guest, your comment is unpublished.
      Kim · 2 years ago
      Same! This worked perfectly for me. Saved me a lot of effort. Thank you!
  • To post as a guest, your comment is unpublished.
    judy.smith5919@gmail.com · 3 years ago
    Please disregard my previous post. I have resolved my issue.
  • To post as a guest, your comment is unpublished.
    judy.smith5919@gmail.com · 3 years ago
    I am using the split data into worksheets based on a column with 27 items in that column. The results are 54 worksheets 2 for each item. The only difference I can see is based on one of the columns in the range. For example:

    Once the split has occured, John Doe has 2 worksheets, one named John Doe and another named Sheet32. Each sheet has information for John Doe, but based on a column "Status" (Billed, Open Order, Salesforce), the information is split. The named worksheet has Billed & Open Order information and the Sheet32 has Salesforce information.


    Any idea what I am doing wrong?


  • To post as a guest, your comment is unpublished.
    Sreejith · 3 years ago
    That really helped. Thank you.
  • To post as a guest, your comment is unpublished.
    Gabriel · 3 years ago
    With the addition of code from comment below it works realy nice.
  • To post as a guest, your comment is unpublished.
    Paulo Corcino · 3 years ago
    Sub Splitbook()
    'Updateby20140612
    Dim xPath As String
    Dim Sourcewb As Workbook
    Dim Destwb As Workbook
    Dim xWs As Worksheet


    xPath = Application.ActiveWorkbook.Path
    Set Sourcewb = ActiveWorkbook

    With Application
    .ScreenUpdating = False
    .EnableEvents = False
    .Calculation = xlCalculationManual
    End With


    ' For Each xWs In ThisWorkbook.Sheets
    For Each xWs In Sourcewb.Worksheets

    If xWs.Visible = -1 Then
    xWs.Copy
    Set Destwb = ActiveWorkbook
    If Destwb.Sheets(1).ProtectContents = False Then
    With Destwb.Sheets(1).UsedRange
    .Cells.Copy
    .Cells.PasteSpecial xlPasteValues
    .Cells(1).Select
    End With
    Application.CutCopyMode = False
    End If
    With Destwb
    .SaveAs Filename:=xPath & "\" & xWs.Name & ".xlsx"
    .Close False
    End With
    End If
    Next

    With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = xlCalculationAutomatic
    End With

    MsgBox "You can find the files in " & xPath

    End Sub
  • To post as a guest, your comment is unpublished.
    Emmanuel · 3 years ago
    Hi, can I add or modify the filename?
  • To post as a guest, your comment is unpublished.
    CMG · 3 years ago
    Hi, can I get VBA to split a file with multiple tabs into separate files and save in their respective folders? i.e. If I have a report with 189 tabs each tab for different clients; can I separate those tabs and save each file in a folder specific to that client? The report varies with the number of tabs through out the month.
  • To post as a guest, your comment is unpublished.
    monica.arroyaveb@gmail.com · 3 years ago
    Hi - Can I get VBA to split a file with multiple tabs into files with multiple tabs? i.e. if I have a file with 2 tabs and data in both tabs with a field called customer -100 customers-, can I get VBA to create one file per customer -100 files- with two tabs each?
  • To post as a guest, your comment is unpublished.
    pippa hatt · 3 years ago
    help ive done this loads of times however today its saying an error on the Application.ActiveWorkbook.SaveAs Filename:=xPath & "\" & xWs.Name & ".xlsx" what am i doing wrong
    • To post as a guest, your comment is unpublished.
      LR · 3 years ago
      You may need to change ".xlsx" on line 9 to ".xls" instead
      • To post as a guest, your comment is unpublished.
        Eben · 3 years ago
        It does that because of the spaces for indentation on lines 8 - 10. Also kept me busy a while to figure out why it's doing that now.
        • To post as a guest, your comment is unpublished.
          Mrs Phillipa L Hatt · 2 years ago
          been using this for a while and now having a run time error 1004 then highlighting in yellow line 8 xWs.copy any ideas please
  • To post as a guest, your comment is unpublished.
    Kelley · 3 years ago
    Hi - instead of splitting each worksheet into a new workbook, is there a way to split groups of worksheets into new workbooks? Ex. Sheet1, Sheet2, Sheet3 go into a workbook, and Sheet4, Sheet5, and Sheet6 go to a second workbook, rather than six new workbooks?
  • To post as a guest, your comment is unpublished.
    tony bones · 4 years ago
    need a vba code to copy an entire workbook (all tabs) and have files saved based on cell range name by state?
  • To post as a guest, your comment is unpublished.
    imran ch · 4 years ago
    thank you very much www.extendoffice.com . very simple and well define post
  • To post as a guest, your comment is unpublished.
    Chris · 4 years ago
    Hi, I have a document of 10 sheets, but I only want the same 8 sheets to copy out each time I hit the command button. What changes can I make to the code (bearing in mind I am a complete amateur in Excel) to get each sheet to adopt the name of the main file, then add the sheet name at the end?

    So as an example the file is called "TESTING" and it has a sheet called "EUROPE". When the macro runs, I want the Europe sheet to be copied out and called "TESTING - EUROPE.xls".
  • To post as a guest, your comment is unpublished.
    adnan · 4 years ago
    Hi
    The coding works well but I want the header also to come on each and every sheet. As it's skipped the header in all data...
  • To post as a guest, your comment is unpublished.
    Karissa Brandhagen · 4 years ago
    How can I get this .xlsx file to save as .csv when split?
  • To post as a guest, your comment is unpublished.
    Nikk · 4 years ago
    Thank you so much! It worked after I unhid the rest of the workbook. This is awesome!
  • To post as a guest, your comment is unpublished.
    Tomm · 4 years ago
    2 questions.

    1. How can you adjust the code the choose the file path of where it is saved? As opposed to just saving wherever the original file is.

    2. How do you change the code to choose what column it creates the tabs from (i.e. in this code it is reading out of column A). I want to be able to choose which column it reads off if. Thanks!
  • To post as a guest, your comment is unpublished.
    Jessica P. · 4 years ago
    Thank you very much for this.Saved me weeks of sweat...
     
    Regards:Jessica
    Active consumer on customerso
  • To post as a guest, your comment is unpublished.
    Anjali · 4 years ago
    Hi, i have one quarry i.e. i have 15000 lines of data in one excel sheet and i want to split that data into multiple excel files where as each file contains 99 lines of data. Anyone can help me. Please share your thoughts.....
  • To post as a guest, your comment is unpublished.
    DS · 4 years ago
    This VBA code worked perfectly. Thank you for sharing your wealth of knowledge.
  • To post as a guest, your comment is unpublished.
    Brad · 4 years ago
    The macro should be updated to include an unhide-all-worksheets piece (including the very-hidden worksheets):

    Sub UnhideAllSheets()
    'Unhide all sheets in workbook.
    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
    ws.Visible = xlSheetVisible
    Next ws
    End Sub

    Sub Splitbook()
    'Updateby20140612
    Dim xPath As String
    xPath = Application.ActiveWorkbook.Path
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For Each xWs In ThisWorkbook.Sheets
    xWs.Copy
    Application.ActiveWorkbook.SaveAs Filename:=xPath & "\" & xWs.Name & ".xlsx"
    Application.ActiveWorkbook.Close False
    Next
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    End Sub
  • To post as a guest, your comment is unpublished.
    Brad · 4 years ago
    IT SHOULD BE NOTED THAT THE VBA MACRO ABOVE WON'T WORK IF YOU HAVE A HIDDEN EXCEL SHEET, OR A "VERY-HIDDEN" EXCEL SHEET.

    YOU MAY NOT BE AWARE THAT YOU HAVE A "VERY-HIDDEN" EXCEL SHEET. TO CHECK, HIT ALT+F11 TO OPEN MICROSOFT VISUAL BASIC (MACRO EDITOR). CLICK ON EACH WORKSHEET UNDER THE MICROSOFT EXCEL OBJECTS AND MAKE SURE THAT THE "Visible" ATTRIBUTE IN THE "Properties" SECTION SHOWS "-1 = xlSheetVisible". IF YOU SPIT AN EXCEL FILE OUT OF ORACLE, FOR EXAMPLE, YOU'LL SEE A WORKSHEET NAMED "BneLog" with visibility = "2 - xlSheetVeryHidden". This took me forever to figure out, lol. Hope it helps!
    • To post as a guest, your comment is unpublished.
      David · 4 years ago
      Great tip! I was beating my head against a wall until this occurred to me. I saw previous comments about hidden sheets but until I realized an existing macro was "very hidden", it didn't make sense to me. On to the next project!
  • To post as a guest, your comment is unpublished.
    sunil · 4 years ago
    Used this and it worked. Just what I needed. Thanks
  • To post as a guest, your comment is unpublished.
    Jignesh S Thakrar · 4 years ago
    Hi

    I'm have master file were data consist for multiple city would like know is their any macros or any formula which keeps this orignal file and also create & update new workbook city area wise
  • To post as a guest, your comment is unpublished.
    Snehalata Gupta · 4 years ago
    Hello all,

    I need to reciprocate the same thing.

    there are lots of excel sheets and i want it te 1st sheet of it in single work book,
    Please Help!!!!
  • To post as a guest, your comment is unpublished.
    Bakhty · 4 years ago
    VBA script worked like a charm, got my 80+ new excel files
  • To post as a guest, your comment is unpublished.
    shanojirao · 4 years ago
    Hi All,

    I need a help from you all,

    I've to share the reports to multiple team depending on the brands they work for.

    Eg: brand name:
    Apple
    Samsung
    and many more around 60 brands.

    there will be a sales dump.

    If I want to run a macro, and spilt into multiple excel files what would be the procedure.

    Kindly help me.

    Thanks in Advance.

    Regards,
    Shan
  • To post as a guest, your comment is unpublished.
    Rogier van Meggelen · 5 years ago
    The code works great. Can you also use this to save the tabs as pdf files.
    It can't figure this out :)
  • To post as a guest, your comment is unpublished.
    Rogier van Meggelen · 5 years ago
    The code works great! is it also possible to save the different tabs as a pdf? I tried but the i can't get it to work :)
  • To post as a guest, your comment is unpublished.
    Anandaraj.M · 5 years ago
    Thanks for your valuable support
  • To post as a guest, your comment is unpublished.
    Stephanie · 5 years ago
    The VBA code worked beautifully! It saved me so much time. Thank you for sharing!