Möglicherweise möchten Sie die inaktiven Arbeitsblätter mit diesem Makro ausblenden. Excel lässt Sie nicht alle Blätter in einer Arbeitsmappe ausblenden; mindestens einer muss angezeigt werden. Sie können jedoch alle außer dem aktiven Blatt ausblenden.
So funktioniert das Makro
Das Makro durchläuft hier die Arbeitsblätter und ordnet jeden Arbeitsblattnamen dem Namen des aktiven Blatts zu. Jedes Mal, wenn das Makro wiederholt wird, blendet es alle nicht übereinstimmenden Arbeitsblätter aus.
Untermakro1()
'Schritt 1: Deklarieren Sie Ihre Variablen
Dim ws als Arbeitsblatt
'Schritt 2: Beginnen Sie mit dem Durchlaufen aller Arbeitsblätter
Für jedes ws in ThisWorkbook.Worksheets
'Schritt 3: Überprüfen Sie jeden Arbeitsblattnamen
Wenn ws.Name <> ThisWorkbook.ActiveSheet.Name Then
'Schritt 4: Das Blatt ausblenden
ws.Visible = xlSheetHidden
Ende Wenn
'Schritt 5: Schleife zum nächsten Arbeitsblatt
Nächstes ws
End Sub
Schritt 1 deklariert ein Objekt namens ws. Dieser Schritt erstellt einen Speichercontainer für jedes Arbeitsblatt, das das Makro durchläuft.
Schritt 2 beginnt mit der Schleife und weist Excel an, alle Arbeitsblätter in dieser Arbeitsmappe auszuwerten. Beachten Sie den Unterschied zwischen ThisWorkbook und ActiveWorkbook. Das ThisWorkBook-Objekt verweist auf die Arbeitsmappe, die den Code enthält. Das ActiveWorkBook-Objekt verweist auf die derzeit aktive Arbeitsmappe. Sie geben häufig dasselbe Objekt zurück, aber wenn die Arbeitsmappe, in der der Code ausgeführt wird, nicht die aktive Arbeitsmappe ist, geben sie unterschiedliche Objekte zurück. In diesem Fall möchten Sie nicht riskieren, Blätter in anderen Arbeitsmappen auszublenden, und verwenden Sie daher ThisWorkBook.
In Schritt 3 vergleicht das Makro einfach den Namen des aktiven Blatts mit dem Blatt, das gerade durchlaufen wird.
Wenn die Blattnamen unterschiedlich sind, blendet das Makro das Blatt in Schritt 4 aus.
In Schritt 5 führen Sie eine Schleife zurück, um das nächste Blatt zu erhalten. Nachdem alle Blätter ausgewertet wurden, endet das Makro.
Beachten Sie, dass Sie in Ihrem Makro xlsheetHidden verwenden. Diese Eigenschaft wendet den standardmäßigen Ausblendstatus an, den Sie normalerweise erhalten, wenn Sie mit der rechten Maustaste auf ein Blatt klicken und Ausblenden auswählen. In diesem standardmäßig ausgeblendeten Zustand kann ein Benutzer mit der rechten Maustaste auf eine beliebige Registerkarte klicken und Einblenden auswählen, wodurch alle ausgeblendeten Blätter angezeigt werden. Aber ein anderer versteckter Zustand ist heimlicher als der Standard. Wenn Sie xlSheetVeryHidden verwenden, um Ihre Blätter auszublenden, können Benutzer sie überhaupt nicht sehen – selbst wenn sie mit der rechten Maustaste auf eine Registerkarte klicken und Einblenden auswählen. Die einzige Möglichkeit, ein auf diese Weise ausgeblendetes Blatt wieder einzublenden, ist die Verwendung von VBA.
So verwenden Sie das Makro
Um dieses Makro zu implementieren, können Sie es kopieren und in ein Standardmodul einfügen:
Aktivieren Sie den Visual Basic-Editor, indem Sie Alt+F11 drücken.
Klicken Sie im Projektfenster mit der rechten Maustaste auf den Projekt-/Arbeitsmappennamen.
Wählen Sie Einfügen→Modul.
Geben oder fügen Sie den Code in das neu erstellte Modul ein.