Erstellen von Arbeitsblättern aus einer Liste von Namen (Microsoft Excel)
Koen hat ein Arbeitsblatt mit einer Liste von Namen in Spalte A. Er muss für jeden Namen in der Liste ein Arbeitsblatt erstellen und das Arbeitsblatt nach diesem Namen benennen lassen. Koen vermutet, dass hierfür ein Makro erforderlich ist, ist sich aber nicht sicher, wie er eine solche Aufgabe ausführen soll.
Diese Aufgabe ist relativ einfach, wenn Sie ein Makro verwenden, und es gibt eine Reihe von Möglichkeiten, wie Sie vorgehen können. Eine einfache Möglichkeit besteht darin, die Liste der Arbeitsblattnamen auszuwählen und anschließend das folgende Makro auszuführen.
Sub AddWorksheetsFromSelection() Dim CurSheet As Worksheet Dim Source As Range Dim c As Range Set CurSheet = ActiveSheet Set Source = Selection.Cells Application.ScreenUpdating = False For Each c In Source sName = Trim(c.Text) If Len(sName) > 0 Then Worksheets.Add After:=Worksheets(Worksheets.Count) ActiveSheet.Name = sName End If Next c CurSheet.Activate Application.ScreenUpdating = True End Sub
Das Makro erfasst im Wesentlichen jede Zelle in Ihrer Auswahl, erstellt ein neues Arbeitsblatt und benennt dieses Arbeitsblatt dann entsprechend den Angaben in der Zelle um.
Das Makro überprüft, ob eine bestimmte Zelle tatsächlich etwas enthält (Sie können ein Arbeitsblatt nicht umbenennen, wenn die Zelle keinen Namen enthält), aber es ist bei weitem nicht so robust wie es sein könnte. Die Liste der Arbeitsblattnamen enthält möglicherweise andere Fehler, die beim Ausführen des Makros zu Fehlern führen können. Was ist zum Beispiel, wenn Ihre Liste Duplikate enthält? Oder enthält es Namen, die Excel nicht zulässt? Diese (und eine beliebige Anzahl anderer Fehler) können vorweggenommen und der Code geändert werden, um solche Situationen zu behandeln.
Während die Verwendung eines Makros zum Erstellen der Arbeitsblätter schnell und einfach ist, sollten Sie beachten, dass Sie nicht unbedingt ein Makro verwenden müssen. Tatsächlich können Sie die PivotTable-Funktionen von Excel verwenden, um die gewünschten Arbeitsblätter zu erstellen. Nehmen wir für dieses Beispiel an, dass sich Ihre gewünschten Arbeitsblattnamen in Spalte A eines Arbeitsblatts befinden und dass Zelle A1 eine Überschrift für die Spalte enthält (z. B. „Namen“ oder „Arbeitsblätter“).
Sie möchten eine PivotTable erstellen, die auf diesen Namen basiert. Befolgen Sie diese Schritte:
-
Wählen Sie einen beliebigen Arbeitsblattnamen in der Spalte aus.
-
Zeigen Sie die Registerkarte Einfügen des Menübands an.
-
Klicken Sie auf das PivotTable-Werkzeug auf der linken Seite des Menübands. Excel zeigt das Dialogfeld PivotTable erstellen mit dem bereits angegebenen Bereich von Arbeitsblattnamen an. (Siehe Abbildung 1.)
-
OK klicken. Excel erstellt die PivotTable und zeigt den Bereich PivotTable-Felder auf der rechten Seite des Bildschirms an.
-
Aktivieren Sie im Bereich PivotTable-Felder das Kontrollkästchen neben dem Feld, das für Ihre Liste der Arbeitsblätter verwendet wird. (Es sollte so etwas wie „Namen“
oder „Arbeitsblätter“ sein.) Excel passt die PivotTable an.
-
Ziehen Sie den markierten Feldnamen („Namen“ oder „Arbeitsblätter“) in den Bereich „Filter“ des Bereichs „PivotTable-Felder“. (Siehe Abbildung 2.)
-
Stellen Sie sicher, dass die Registerkarte Analysieren des Menübands angezeigt wird. (Es sollte standardmäßig angezeigt werden, nachdem Sie die PivotTable erstellt haben.)
-
Klicken Sie auf den Abwärtspfeil unter dem PivotTable-Werkzeug auf der linken Seite des Menübands. Excel zeigt einige Auswahlmöglichkeiten an, die Sie treffen können.
-
Klicken Sie auf den Abwärtspfeil rechts neben der Option Optionen. (Klicken Sie nicht auf die Option Optionen selbst. Daraufhin wird ein Dialogfeld angezeigt. Klicken Sie einfach auf den Abwärtspfeil.)
-
Wählen Sie die Option Berichtsfilterseiten anzeigen. Excel zeigt das Dialogfeld Berichtsfilterseiten anzeigen an.
-
OK klicken. Excel erstellt für jeden Arbeitsblattnamen in Ihrer Liste ein Arbeitsblatt.
Es ist wichtig zu wissen, dass zu diesem Zeitpunkt jedes der neuen Arbeitsblätter eine kleine PivotTable enthält. Um diese PivotTables zu entfernen, können Sie möglicherweise einen Auswahlsatz der neuen Arbeitsblätter erstellen (klicken Sie auf die erste Arbeitsblattregisterkarte und halten Sie dann die Umschalttaste gedrückt, während Sie auf die letzte Arbeitsblattregisterkarte klicken) und dann die Entf-Taste drücken. In meinen Tests funktioniert dies jedoch nicht. In Excel können Sie im Gruppenbearbeitungsmodus keine Änderungen an PivotTables vornehmen. Stattdessen müssen Sie nacheinander jedes Arbeitsblatt anzeigen und die PivotTables löschen.
Dies mag wie eine Menge Arbeit erscheinen, aber wenn Sie nur alle diese Arbeitsblätter einmal erstellen müssen, kann dies eine relativ schnelle Möglichkeit sein, ohne dass ein Makro aufgerufen werden muss.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (13463) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.