Arbeitsmappe nach Arbeitsblättern aufteilen - Excel-Tipps

Inhaltsverzeichnis

Sie haben eine Arbeitsmappe mit vielen Arbeitsblättern. Sie möchten jedes Arbeitsblatt an eine andere Person senden. Heute ein Makro, um diese Daten aufzuteilen.

Schau Video

  • Joe + Others sucht nach einer Möglichkeit, jedes Arbeitsblatt in einer anderen Datei zu speichern
  • Nützlich für Power Query oder nach Verwendung von Show Report Filter Pages

Video-Transkript

Lernen Sie Excel aus Podcast, Episode 2107 - Teilen Sie jedes Arbeitsblatt in eine neue Arbeitsmappe

Hey, willkommen zurück. Ich bin und Netcast. Ich bin Bill Jelen.

Ich habe im Hinterkopf gewusst, dass ich das schon lange tun musste, aber zwei aktuelle Podcasts haben es wirklich gebracht, haben es nach Hause gebracht.

Erst kürzlich in Episode 2106, in der wir ein PDF aus All Slicer Combinations erstellt haben. Spät in dieser Episode habe ich eine alternative Methode gezeigt, bei der wir viele Pivot-Berichte erstellen, die jedoch alle in derselben Arbeitsmappe gespeichert sind. Ich habe eine E-Mail von Joe in Kalifornien erhalten, in der es heißt, ich muss jedes Arbeitsblatt an einen anderen Kunden senden Das Gleiche gilt für meine Live-Power-Excel-Seminare, in denen ich diesen Trick zeige. Die Leute sagen: Nein, wir wollen nicht alles in derselben Arbeitsmappe, wir wollen es separat und dann ist es wahrscheinlich noch wichtiger Episode 2077, in der ich darüber gesprochen habe, wie Power Query jetzt alle Excel-Dateien in einem Ordner kombinieren kann, oder? Und das ist wunderbar. Es funktioniert großartig. Wenn Sie 400 Excel-Dateien mit jeweils einem Arbeitsblatt hatten, werden alle diese Daten aus all diesen Arbeitsblättern abgerufen und in einem Raster zusammengefasst.Das ist großartig, aber wenn wir fast das gleiche Problem hätten. Eine Arbeitsmappe mit 400 Arbeitsblättern? Es kann es nicht tun, richtig. Damit kann es noch nicht umgehen. Richtig, also jetzt, am 1. Juli 2017, kann es damit nicht umgehen. Vielleicht kann es in sechs Monaten damit fertig werden, aber im Moment müssen es Einzelblatt-Arbeitsmappen sein.

Wir brauchen also einen Weg, um Dinge in einzelne Dateien aufteilen zu können. Okay, also lass uns das einfach einrichten. Wir haben die Arbeitsmappe, die ich im Jahr 2106 erstellt habe, in der wir die Daten und dann die ursprüngliche Pivot-Tabelle haben. Wir gehen zu Analysieren, Optionen, Berichtsfilterseiten anzeigen und Seiten des Schlüssels anzeigen und erstellen eine ganze Reihe verschiedener Arbeitsblätter für mich und Ich möchte diese Arbeitsblätter nehmen und jedes einzelne als separate Datei erstellen, aber obwohl wir das haben, gibt es einige Dinge wie Sheet2 und Data, die ich nicht teilen möchte.

In Ordung? Und natürlich wird für jede einzelne Person das Zeug, diese, diese Liste von Arbeitsblättern, die wir nicht teilen wollen, anders sein, aber ich werde vermuten, dass fast jeder einige Arbeitsblätter hat, die sie nicht haben. Ich möchte mich trennen.

Okay, hier ist das Dienstprogramm, das Sie herunterladen können. Der Arbeitsblatt-Splitter und hier habe ich einen Abschnitt in Spalte B und es ist wirklich das einzige in Spalte B, in dem Sie die Arbeitsblätter auflisten können, die Sie nicht teilen möchten. Es können mehr als zwei sein. Sie können hier so viele eingeben, wie Sie möchten. Sie können neue Zeilen einfügen und meine billige Art, ich wollte diese nicht im Makro durchlaufen müssen, so weit außerhalb Ihrer Ansicht hier draußen habe ich eine Stelle, an der das Makro den aktuellen Arbeitsblattnamen schreiben kann und dann a einfacher kleiner VLOOKUP. Suchen Sie nach diesem Arbeitsblatt, an dem wir gerade arbeiten, und prüfen Sie, ob es in Spalte B beendet ist. Wenn dies der Fall ist, wissen wir, dass wir dieses Arbeitsblatt nicht exportieren möchten.

Okay und noch einmal, um dies so allgemein wie möglich zu gestalten, habe ich hier mehrere benannte Bereiche, meinen Pfad, mein Präfix, mein Suffix, meinen Typ und meine Paste. Also gut, Sie finden heraus, wohin dieses Zeug gehen soll. c: Berichte . Ich möchte, dass jede Datei den Blattnamen hat, aber vor dem Blattnamen werde ich das Präfix WB, Dateisuffix und nichts einfügen, und dann haben Sie hier die Wahl: PDF oder XLSX.

Wir beginnen also mit XLSX. Wir werden über diese Einfügewerte sprechen, bevor wir sie später speichern. Okay und im Moment ist dies die erste Version vom 1. Juli 2017. Wenn wir dies verbessern, werde ich es einfach auf der Webseite ersetzen und Sie können die Webseite dort unten in den YouTube-Beschreibungen finden. Okay, hier ist, wie das funktionieren wird. Es ist eine XLSM-Datei. Sie müssen also sicherstellen, dass Makros zulässig sind. alt = "" T, M, S, für die Sicherheit müssen Sie mindestens auf dieser Stufe oder darunter sein. Wenn Sie ganz oben stehen, müssen Sie Änderungen vornehmen, die Arbeitsmappe schließen und erneut öffnen. Wenn Sie die Arbeitsmappe öffnen, heißt es: Hey, sind Sie bereit, die Makros hier zu akzeptieren, und es ist überhaupt kein großes Makro: Achtundsechzig Codezeilen und vieles davon befasst sich nur damit, die Werte aus dem Menü zu entfernen Blatt,Was sind die Variablen jetzt.

Das Wichtigste dabei ist jedoch, dass es auf dem ActiveWorkbook funktioniert. Sie wechseln also zu der Arbeitsmappe mit den Daten und drücken dann STRG UMSCHALT S, um sie auszuführen. Sie erkennt das ActiveWorkbook und teilt es auf. Es greift ("MyPath") und es ist nur so, weil ich immer vergesse, diesen Backslash zu setzen. Wenn das letzte Zeichen kein Backslash ist, werde ich einen Backslash hinzufügen und dann hier unten ist dies die eigentliche Arbeit.

Für jedes Arbeitsblatt, im Original, in den aktiven WBO.Worksheets, werden wir testen, ob es eines ist, das dort drüben ist, und Spalte B. Wenn ja, wenn nicht, werden wir dieses Blatt und mich exportieren liebe diese Codezeile. WS.copy sagt, wenn ich diese Arbeitsmappe, dieses Arbeitsblatt, aus dieser großen Arbeitsmappe mit nehme, kennen Sie 20 oder 400 Arbeitsblätter, und wir gehen zu WS.copy, das eine Kopie davon erstellt und in eine neue Arbeitsmappe verschiebt und wir wissen, wir wissen, dass diese neue Arbeitsmappe jetzt die aktive Arbeitsmappe im Makro wird, und natürlich gibt es nur ein Blatt in dieser Arbeitsmappe und dieses Blatt ist das aktive Blatt.

Also richtig, hier kann ich den Namen der Arbeitsmappe herausfinden. Legen Sie es fest, auf diese Objektvariable anwenden, Arbeitsmappe neu, Arbeitsblatt neu und später, wenn ich schließen muss, kann ich WBN.close ausführen, nachdem ich die Arbeit erledigt habe. Wir ermitteln den neuen Dateinamen anhand aller Variablen. Töte diese Datei, falls sie bereits existiert, und wenn es sich um eine Excel-Datei handelt, speichern wir sie als, wenn es sich um eine PDF-Datei handelt.

Übrigens funktioniert dieser PDF-Code nur unter Windows. Wenn Sie einen Mac verwenden, müssen Sie sich leider an einen anderen Ort begeben, um den entsprechenden Mac-Code zu ermitteln. Ich habe keinen Mac. Ich weiß, dass es eine Möglichkeit gibt, ein PDF auf einem Mac zu speichern. Ich weiß, dass der Code anders ist. Sie müssen das herausfinden oder zum echten Excel in Windows zurückkehren, und dann sind wir fertig, wir schließen.

Okay, es ist also nur ein einfaches kleines Makro. Wechseln Sie hier zu unserer Datenarbeitsmappe, die alle Arbeitsblätter enthält. Hier gibt es 20 verschiedene Arbeitsblätter sowie die beiden, die ich nicht machen möchte, und dann STRG-UMSCHALTTAS wie folgt, und wir werden sehen, wie es blinkt, während es jedes erstellt. Da sind wir: 21 Dateien erstellt.

Werfen wir einen Blick in den Windows Explorer und hier sind meine OS (C :) -Berichte, die für jedes Arbeitsblatt erstellt wurden und in der ursprünglichen Arbeitsmappe eine neue Version mit WB im Voraus erstellt haben. Okay, Joe, als Joe mir diese Nachricht schickte, sagte er, er werde diese Daten an Kunden senden, und ich geriet zuerst in Panik, weil ich sagte, warte einen zweiten Joe, wir werden ein Problem haben, weil du es bist Ich werde Gary seine Daten schicken, oder? Aber das ist, ah, Sie kennen ein Live, einen Live-Datensatz, es ist eine Live-Pivot-Tabelle. All das Zeug hier, vielleicht können Sie alle Informationen für andere Kunden so bekommen, oder? Junge, du willst einem Kunden A nicht die Informationen für alle anderen Kunden schicken. Das könnte ein Ärger sein, und als ich die Notiz der Show noch einmal las, war er schlauer als ich, weil er sagte:Ich möchte sie als PDF-Dateien erstellen. Ich dachte, in Ordnung, na ja, wir müssen uns keine Sorgen um PDF-Dateien machen, das ist in Ordnung, aber was ich hier zum Makro hinzugefügt habe, war die Möglichkeit, Werte vor dem Speichern einfügen zu sagen? WAHR.

Sie setzen das also auf TRUE und das wird dieses winzige Stück Code hier aufrufen, wo wir sagen: Wenn PasteV, dann UsedRange.Copy und dann UsedRange.PasteSpecial (xlPasteValues), UsedRange, anstatt alle 17 Milliarden Zellen zu kopieren und einzufügen , es wird es auf gut beschränken, den UsedRange.

Okay, also lasst uns zurückschalten, das Arbeitsblatt wechseln, das die Daten enthält, STRG UMSCHALT S für Teilen und dann diese neue Version im Berichtsverzeichnis. Sie werden sehen, dass die Pivot-Tabelle entfernt wurde und nur die Daten dort belassen wurden. Auf diese Weise können sie nicht auf alle Daten zugreifen.

Okay, wir werden die andere Funktion ausprobieren. Wir werden versuchen, wenn wir von Excel zu PDF wechseln, das Präfix in PDFFileOf zu ändern, was auch immer wir dort wollen. Ich werde nicht einmal das Suffix versuchen, etwas. Okay und wechseln Sie dann zu den Daten, STRG UMSCHALT S. Okay, damit wir die gleichen Dateien PDFFileOf des Arbeitsblattnamens erhalten, etwas von PDF, und wir sollten nur nette kleine PDFs darin haben, so.

Okay, da haben Sie es also. The.com Worksheet Splitter. Hoffentlich generisch genug für alles, was Sie brauchen. Laden Sie es erneut über den Link in den YouTube-Kommentaren herunter. Um mehr über VBA zu erfahren, lesen Sie dieses Buch Excel 2016 VBA und Makros von mir und Tracy? 08: 50.640. Klicken Sie oben rechts auf I, um mehr über das Buch zu erfahren.

Joe aus Kalifornien und viele andere haben nach einer Möglichkeit gefragt, jedes Arbeitsblatt in einer anderen Datei zu speichern, entweder als PDF in Joes Fall oder als Excel-Datei, falls Sie Power Query zum Kombinieren von Dateien verwenden möchten. Also habe ich ein nettes kleines generisches Freeware-Dienstprogramm erstellt. Sie können es herunterladen und ausprobieren.

Ich möchte Joe dafür danken, dass er diese Frage gestellt hat, und ich möchte Ihnen dafür danken, dass Sie vorbeischauen. Wir sehen uns beim nächsten Mal für einen weiteren Netcast von.

Download-Datei

Laden Sie die Beispieldatei hier herunter: Podcast2107.xlsm

Interessante Beiträge...