Διαχωρισμός βιβλίου εργασίας από φύλλα εργασίας - Συμβουλές για το Excel

Πίνακας περιεχομένων

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

Δες το βίντεο

  • Ο Joe + Other αναζητά έναν τρόπο αποθήκευσης κάθε φύλλου εργασίας σε διαφορετικό αρχείο
  • Χρήσιμο για Power Query ή μετά τη χρήση Εμφάνιση σελίδων φίλτρου αναφοράς

Μεταγραφή βίντεο

Μάθετε το Excel από το Podcast, Episode 2107 - Διαχωρίστε κάθε φύλλο εργασίας σε ένα νέο βιβλίο εργασίας

Γεια σας καλωσορίσατε πίσω. Είμαι και το netcast. Είμαι ο Μπιλ Τζέλεν.

Γνωρίζω στο πίσω μέρος του μυαλού μου ότι έπρεπε να το κάνω για πολύ καιρό, αλλά δύο πρόσφατα podcast τα έφεραν πραγματικά, το έφεραν σπίτι.

Μόλις πρόσφατα στο επεισόδιο 2106, όπου δημιουργήσαμε ένα PDF από όλους τους συνδυασμούς Slicer. Αργά σε αυτό το επεισόδιο έδειξα μια εναλλακτική μέθοδο όπου δημιουργούμε πολλές συγκεντρωτικές αναφορές, αλλά τις βάζει όλες στο ίδιο Βιβλίο Εργασίας και πήρα ένα email από τον Joe στην Καλιφόρνια λέει καλά, κοίτα πρέπει να στείλω κάθε φύλλο εργασίας σε διαφορετικό πελάτη και το ίδιο πράγμα, στα ζωντανά σεμινάρια Power Excel όπου δείχνω αυτό το τέχνασμα, οι άνθρωποι λένε, καλά όχι, δεν τα θέλουμε όλα στο ίδιο Βιβλίο Εργασίας, το θέλουμε ξεχωριστά και στη συνέχεια μάλλον πιο σημαντικό από αυτό, είναι ξανά επεισόδιο 2077, όπου μίλησα για το πώς το Power Query έχει πλέον τη δυνατότητα να συνδυάζει όλα τα αρχεία του Excel σε ένα φάκελο, σωστά; Και αυτό είναι θαυμαστό. Λειτουργεί υπέροχα. Εάν είχατε 400 αρχεία Excel, το καθένα με ένα φύλλο εργασίας, θα αρπάξει όλα αυτά τα δεδομένα από όλα αυτά τα φύλλα εργασίας και θα τα βάλει σε ένα πλέγμα.Αυτό είναι φοβερό, αλλά αν είχαμε σχεδόν το ίδιο πρόβλημα. Ένα βιβλίο εργασίας με 400 φύλλα εργασίας; Δεν μπορεί να το κάνει, σωστά. Δεν μπορεί να το αντιμετωπίσει - ακόμα. Σωστά, λοιπόν τώρα, την 1η Ιουλίου 2017, δεν μπορεί να το αντιμετωπίσει. Ίσως μέσα σε έξι μήνες να το αντιμετωπίσει, αλλά τώρα, πρέπει να είναι βιβλία εργασίας με ένα φύλλο.

Χρειαζόμαστε λοιπόν έναν τρόπο να μπορούμε να χωρίσουμε τα πράγματα σε μεμονωμένα αρχεία. Εντάξει, ας το ρυθμίσουμε. Έχουμε το Βιβλίο Εργασίας που έκανα το 2106 όπου έχουμε τα δεδομένα και στη συνέχεια τον αρχικό Συγκεντρωτικό Πίνακα και πηγαίνουμε στην Ανάλυση, Επιλογές, Εμφάνιση σελίδων φίλτρου αναφοράς και εμφάνιση σελίδων του κλειδιού και δημιουργεί μια ολόκληρη δέσμη διαφορετικών φύλλων εργασίας για μένα και Θέλω να πάρω αυτά τα φύλλα εργασίας και να δημιουργήσω το καθένα είναι ένα ξεχωριστό αρχείο, αλλά παρόλο που το έχουμε, υπάρχουν κάποια πράγματα όπως το Sheet2 και το Data που δεν θέλω να χωρίσω.

Καλώς? Και φυσικά για κάθε άτομο, αυτά τα πράγματα, αυτά, αυτή η λίστα φύλλων εργασίας, που δεν θέλουμε να χωρίσουμε, θα είναι διαφορετικά, αλλά θα υποθέσω ότι σχεδόν όλοι έχουν κάποια φύλλα εργασίας που δεν έχουν Θέλω να χωρίσω.

Εντάξει, οπότε εδώ είναι το βοηθητικό πρόγραμμα που θα μπορείτε να κατεβάσετε. Ο Διαχωριστής φύλλων εργασίας και εδώ έχω μια ενότητα στη στήλη Β και είναι πραγματικά το μόνο πράγμα στη στήλη Β όπου μπορείτε να παραθέσετε αυτά τα φύλλα εργασίας που δεν θέλετε να διαχωρίσετε. Μπορεί να είναι περισσότερα από δύο. Μπορείτε να συμπληρώσετε όσα θέλετε εδώ. Μπορείτε να εισαγάγετε νέες σειρές και ο φθηνός μου τρόπος, δεν ήθελα να χρειαστεί να περάσω από αυτές στη μακροεντολή, μέχρι στιγμής έξω από την άποψή σας εδώ, έχω ένα σημείο όπου η μακροεντολή μπορεί να γράψει το τρέχον όνομα φύλλου εργασίας και στη συνέχεια ένα απλό μικρό VLOOKUP. Λέει, πηγαίνετε να αναζητήσετε αυτό το φύλλο εργασίας που επεξεργαζόμαστε αυτήν τη στιγμή, δείτε εάν έχει τελειώσει στη στήλη Β και και αν είναι, θα γνωρίζουμε ότι αυτό είναι που δεν θέλουμε να εξαγάγουμε.

Εντάξει και πάλι για να το κάνω όσο το δυνατόν πιο γενικό, έχω αρκετές ονομαστικές περιοχές εδώ, το Path, το πρόθεμά μου, το επίθημά μου, το Type και το Paste μου. Εντάξει, οπότε καταλαβαίνετε πού θέλετε να πάνε αυτά τα πράγματα c: Αναφορές . Θέλω κάθε αρχείο να έχει το όνομα του φύλλου, αλλά πριν από το όνομα του φύλλου, θα βάλω το πρόθεμα του WB, το Επίθημα αρχείου και τίποτα και στη συνέχεια έχετε μια επιλογή εδώ: PDF ή XLSX.

Θα ξεκινήσουμε λοιπόν με το XLSX, θα μιλήσουμε για αυτές τις τιμές επικόλλησης πριν από την αποθήκευση αργότερα. Εντάξει και τώρα αυτή είναι η έκδοση 1 Ιουλίου 2017, η πρώτη. Εάν το βελτιώσουμε, θα το αντικαταστήσω στην ιστοσελίδα και μπορείτε να βρείτε την ιστοσελίδα εκεί κάτω στις περιγραφές του YouTube. Εντάξει, λοιπόν, πώς λειτουργεί αυτό. Είναι ένα αρχείο XLSM. Επομένως, πρέπει να βεβαιωθείτε ότι επιτρέπονται οι μακροεντολές. alt = "" T, M, S, για ασφάλεια πρέπει να είστε τουλάχιστον σε αυτό το επίπεδο ή κάτω. Ακριβώς εάν είστε στην κορυφή, πρέπει να αλλάξετε, κλείνει το Βιβλίο εργασίας, ανοίξτε ξανά. Όταν ανοίγετε το Βιβλίο εργασίας, πρόκειται να πείτε, hey είστε διατεθειμένοι να αποδεχτείτε τις μακροεντολές εδώ και δεν είναι καθόλου μεγάλη μακροεντολή: εξήντα οκτώ γραμμές κώδικα και πολλά από αυτά αφορούν μόνο την απομάκρυνση των τιμών από το μενού Σεντόνι,ποιες είναι οι μεταβλητές τώρα.

Το σημαντικό πράγμα εδώ είναι ότι πρόκειται να λειτουργήσει στο ActiveWorkbook. Έτσι, θα μεταβείτε στο Βιβλίο εργασίας που περιέχει τα δεδομένα και, στη συνέχεια, πατήστε το πλήκτρο CTRL SHIFT S για να το εκτελέσετε και πρόκειται να εντοπίσει το ActiveWorkbook και αυτό θα είναι αυτό που διαχωρίζεται. Αρπάζει ("MyPath") και είναι απλώς επειδή ξεχνάω πάντα να βάζω αυτήν την ανάστροφη κάθετο, αν ο τελευταίος χαρακτήρας δεν είναι ανάστροφη κάθετο, τότε θα προσθέσω μια ανάστροφη κάθετο και στη συνέχεια εδώ είναι η πραγματική δουλειά.

Για κάθε φύλλο εργασίας, στο πρωτότυπο, στο ενεργό WBO. Φύλλα εργασίας, πρόκειται να δοκιμάσουμε για να δούμε αν είναι εκεί πάνω και στη στήλη Β. Εάν είναι, αν δεν είναι τότε θα εξάγουμε αυτό το φύλλο και εγώ λατρεύω αυτή τη γραμμή κώδικα. Το WS.copy λέει, όταν παίρνω αυτό το βιβλίο εργασίας, αυτό το φύλλο εργασίας, από αυτό το μεγάλο βιβλίο εργασίας με, γνωρίζετε 20 ή 400 φύλλα εργασίας και θα πάμε στο WS.copy, το οποίο δημιουργεί ένα αντίγραφο και το μετακινεί σε ένα νέο βιβλίο εργασίας εργασίας και γνωρίζουμε, γνωρίζουμε ότι αυτό το νέο βιβλίο εργασίας θα γίνει πλέον το ενεργό βιβλίο εργασίας στη μακροεντολή και φυσικά υπάρχει μόνο ένα φύλλο σε αυτό το βιβλίο εργασίας και αυτό το φύλλο είναι το ενεργό φύλλο.

Λοιπόν, εδώ μπορώ να καταλάβω το όνομα του βιβλίου εργασίας. Ορίστε το, Εφαρμόστε σε αυτήν τη μεταβλητή αντικειμένου, Νέο βιβλίο εργασίας, Νέο φύλλο εργασίας και μετά αργότερα, όταν πρέπει να κλείσω, μπορώ να κάνω WBN.close μετά την ολοκλήρωση της εργασίας. Υπολογίζουμε το νέο όνομα αρχείου χρησιμοποιώντας όλες τις μεταβλητές. Σκοτώστε αυτό το αρχείο, αν υπάρχει ήδη και, εάν είναι αρχείο Excel, κάνουμε μια αποθήκευση σαν, εάν είναι PDF.

Και παρεμπιπτόντως, αυτός ο κώδικας PDF λειτουργεί μόνο στα Windows, εάν χρησιμοποιείτε Mac, συγγνώμη, θα πρέπει να πάτε κάπου αλλού για να μάθετε τον αντίστοιχο κωδικό Mac. Δεν έχω Mac. Ξέρω ότι υπάρχει ένας τρόπος για να αποθηκεύσετε ένα PDF σε Mac. Ξέρω ότι ο κωδικός είναι διαφορετικός. Θα πρέπει να το καταλάβετε ή να επιστρέψετε στο πραγματικό Excel στα Windows και μετά να τελειώσουμε, κλείνουμε.

Εντάξει, οπότε είναι απλώς μια μικρή μακροεντολή όπως αυτή, μεταβείτε στο Βιβλίο εργασίας δεδομένων εδώ, αυτό που έχει όλα τα φύλλα εργασίας Υπάρχουν 20 διαφορετικά φύλλα εργασίας εδώ, συν τα δύο που δεν θέλω να κάνω και στη συνέχεια το CTRL SHIFT S έτσι και θα το δούμε να αναβοσβήνει καθώς δημιουργεί το καθένα. Εκεί είμαστε: 21 αρχεία δημιουργήθηκαν.

Ας ρίξουμε μια ματιά στην Εξερεύνηση των Windows και εδώ είναι το OS μου (C :) Αναφορές, δημιούργησε για κάθε φύλλο εργασίας, που ονομάστηκε στο αρχικό βιβλίο εργασίας που δημιούργησε μια νέα έκδοση με WB μπροστά. Εντάξει τώρα, Joe, όταν ο Joe μου έστειλε αυτό το σημείωμα, είπε ότι θα στείλει αυτά τα δεδομένα στους πελάτες και κάπως πανικοβληθήκαμε στην αρχή γιατί είπα, περίμενε ένα δεύτερο Joe, θα έχουμε πρόβλημα επειδή είσαι θα στείλει στον Gary, τα δεδομένα του, σωστά; Αλλά αυτό, α, ξέρετε ένα ζωντανό, ένα ζωντανό σύνολο δεδομένων, είναι ένα ζωντανό συγκεντρωτικό πίνακα. Όλα τα πράγματα εδώ, μπορεί να μπορείτε να λάβετε όλες τις πληροφορίες για άλλους πελάτες, έτσι; Αγόρι, δεν θέλετε να στείλετε στον πελάτη Α τις πληροφορίες για όλους τους άλλους πελάτες. Αυτό θα μπορούσε να είναι μια ταλαιπωρία και στην πραγματικότητα, όταν έχω ξαναδιαβάσει τη σημείωση των εκπομπών, ήταν πιο έξυπνος από μένα, επειδή είπε:Θέλω να τα δημιουργήσω ως αρχεία PDF. Ήμουν, εντάξει, λοιπόν, ναι, δεν χρειάζεται να ανησυχούμε ως αρχεία PDF, αυτό είναι εντάξει, αλλά αυτό που πρόσθεσα εδώ, στη μακροεντολή ήταν η δυνατότητα να πω Επικόλληση τιμών πριν από την αποθήκευση; ΑΛΗΘΗΣ.

So you set that equal to TRUE and that's going to invoke this tiny bit of code here, where we say, If PasteV Then the UsedRange.Copy and then UsedRange.PasteSpecial (xlPasteValues), UsedRange, rather than copying and pasting all 17 billion cells, it'll limit it down to well, the UsedRange.

Alright, so let's switch back, switch those Worksheet that has the data, CTRL SHIFT S for split and then this new version in the reports directory, you'll see that it has gotten rid of the Pivot Table and left just the data there. So that way they can't get to all data.

Alright, we'll try the other feature. We'll try if we switch from Excel to PDF change the prefix to PDFFileOf, whatever we want there. I won't even try the suffix, something. Alright and then switch to the data, CTRL SHIFT S. Alrighty, so we get the same files PDFFileOf the Worksheet name, something of PDF and we should have just nice little PDFs in there, like that.

Alright so there you have it the.com Worksheet Splitter. Hopefully generic enough, for whatever you need. Download it again from the link there in the YouTube comments. To learn more about VBA, check out this book Excel 2016 VBA and Macros by myself and Tracy ?08:50.640. Click that I on the top right hand corner, to read more about the book.

Ο Joe, από την Καλιφόρνια, καθώς και πολλοί άλλοι ζήτησαν έναν τρόπο αποθήκευσης κάθε φύλλου εργασίας σε ένα διαφορετικό αρχείο, είτε ως PDF στην περίπτωση του Joe είτε ως αρχείο Excel σε περίπτωση που πρόκειται να χρησιμοποιήσετε το Power Query για να συνδυάσετε αρχεία. Έτσι δημιούργησα ένα ωραίο μικρό Generic Freeware Utility εκεί έξω. Μπορείτε να το κατεβάσετε και να το τραβήξετε.

Θέλω να ευχαριστήσω τον Joe που έθεσε αυτήν την ερώτηση και να σας ευχαριστήσω που σταματήσατε. Θα σας δούμε την επόμενη φορά για ένα άλλο netcast από.

Λήψη αρχείου

Κατεβάστε το δείγμα αρχείου εδώ: Podcast2107.xlsm

ενδιαφέροντα άρθρα...