Microsoft Excel ist eine der beliebtesten Tabellenkalkulationsanwendungen. Ein besonders nützliches Werkzeug zur Automatisierung von Prozessen in Excel ist die Programmiersprache VBA (Visual Basic for Applications).
In diesem Artikel erfahren Sie, wie Sie alle Arbeitsblätter in einer Excel-Arbeitsmappe mit Ausnahme eines mit VBA auswählen. Um dies zu tun, verwenden wir eine Schleife und überprüfen den Namen jedes Blattes auf den angegebenen Namen, den wir ausschließen möchten.
Um zu beginnen, ist es wichtig, den VBA-Editor in Excel zu öffnen, indem Sie eine Tastenkombination auswählen Alt+F11. Anschließend öffnen Sie das Projektfenster, indem Sie im Bereich "Projekt-Explorer" auf den Projektnamen doppelklicken. Das Projektfenster enthält alle Module, Arbeitsblätter und Formulare, die der aktuellen Arbeitsmappe zugeordnet sind. Wählen Sie das Modul oder Objekt aus, in das Sie Ihren VBA-Code schreiben möchten.
Sub SelectAllSheetsExceptOne()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "SheetName" Then
Wenn Sie alle Blätter mit Ausnahme eines mit einem bestimmten Namen (z. B. "SheetName") auswählen möchten, hilft Ihnen der obige VBA-Code, diese Aufgabe zu bewältigen. Es durchläuft alle Arbeitsblätter in der aktuellen Excel-Arbeitsmappe und wählt nur diejenigen aus, deren Namen nicht mit "SheetName" übereinstimmen.
Auf diese Weise können Sie alle Arbeitsblätter in einer Arbeitsmappe mit Ausnahme eines mit VBA in Excel einfach auswählen. Dieses Beispiel zeigt Ihnen, wie Sie eine Schleife und eine Bedingung verwenden, um diese Aufgabe zu automatisieren.
So wählen Sie alle Arbeitsblätter in Excel VBA aus
In Excel VBA können Sie ganz einfach alle Arbeitsblätter in einer Arbeitsmappe auswählen, indem Sie das Workbook-Objekt und seine Worksheets-Eigenschaft verwenden. Wenn Sie jedoch alle Blätter mit Ausnahme eines auswählen müssen, können Sie eine Schleife und eine bedingte Bedingung verwenden, um ein bestimmtes Blatt aus der Auswahl auszuschließen.
Erstellen Sie zunächst eine Variable, die die Arbeitsmappe (Arbeitsmappe) darstellt, und weisen Sie ihr den Wert der aktiven Arbeitsmappe zu:
Dim wb As WorkbookSet wb = ActiveWorkbook
Erstellen Sie dann eine Schleife, die alle Arbeitsblätter in der Arbeitsmappe durchläuft:
Dim ws As WorksheetFor Each ws In wb.Worksheets' Ваш код для работы с каждым листомNext ws
Innerhalb einer Schleife können Sie ein Worksheet-Objekt verwenden, um die erforderlichen Vorgänge für jedes Arbeitsblatt zu erstellen. Sie können beispielsweise den Namen jedes Blatts ändern oder den Namen des Blatts in einem Dialogfeld anzeigen:
MsgBox ws.Name
Wenn Sie ein bestimmtes Blatt aus der Stichprobe ausschließen möchten, können Sie die If-Bedingung mit der Anweisung Not Equal (=<>) verwenden:
If ws.Name <> "ИмяЛиста" Then' Ваш код для работы с каждым листом, кроме указанногоEnd If
Mit dem angegebenen Code können Sie also alle Arbeitsblätter in Excel VBA auswählen und mit ihnen arbeiten, mit Ausnahme des in der Bedingung angegebenen Arbeitsblatts.
Wie kann ich ein bestimmtes Blatt aus der Auswahl ausschließen
Wenn Sie in Excel mit VBA programmieren, müssen Sie häufig alle Arbeitsblätter in einer Arbeitsmappe mit Ausnahme eines bestimmten Arbeitsblatts auswählen. Dies kann beispielsweise bei der Arbeit mit Makros nützlich sein, wenn Sie Aktionen auf allen Arbeitsblättern mit Ausnahme eines oder mehrerer Arbeitsblätter ausführen möchten.
Um ein bestimmtes Arbeitsblatt von der Auswahl auszuschließen, müssen Sie eine Schleife verwenden, die alle Arbeitsblätter in der Arbeitsmappe durchläuft und nur die gewünschten Arbeitsblätter ausführt.
Hier ist ein Beispielcode, der ein Arbeitsblatt mit dem Namen "Tabelle1" aus der Auswahl ausschließt:
Dim Arbeitsblatt als Arbeitsblatt
For Each Blatt In ThisWorkbook.Sheets
If Лист.Name <> "Tabelle1" Then
' Wir führen die Aktionen nur auf Arbeitsblättern aus, deren Name sich von Blatt1 unterscheidet.
' Hier können Sie Code hinzufügen, um die gewünschten Aktionen auszuführen
In diesem Beispiel wird eine For Each-Schleife verwendet, die sich durch alle Arbeitsblätter der Arbeitsmappe erstreckt. Innerhalb der Schleife wird der Name des aktuellen Arbeitsblatts mit der If-Bedingung überprüft. Wenn sich der Name des Arbeitsblatts von Blatt1 unterscheidet, werden die erforderlichen Schritte ausgeführt.
Beachten Sie, dass Sie die Bedingung innerhalb der bedingten If-Anweisung ändern können, um ein anderes Blatt oder mehrere Blätter von der Auswahl auszuschließen.
Mit einer Schleife und einer Bedingung können Sie daher ein bestimmtes Blatt von der Auswahl ausschließen und die gewünschten Aktionen nur auf den anderen Blättern ausführen.
Beispiel für die Verwendung einer Schleife zum Auswählen aller Blätter
In Excel VBA können Sie eine Schleife verwenden, um alle Arbeitsblätter in einer Arbeitsmappe mit Ausnahme eines bestimmten Arbeitsblatts auszuwählen. Dies kann nützlich sein, wenn Sie bestimmte Aktionen auf allen Arbeitsblättern ausführen, mit Ausnahme eines.
Hier ist ein Codebeispiel, mit dem Sie alle Blätter außer einem Blatt mit dem Namen "Tabelle1" auswählen können:
Sub Выбрать_Все_Листы_Кроме_Одного()Dim ws As WorksheetFor Each ws In ThisWorkbook.WorksheetsIf ws.Name <> "Лист1" Thenws.SelectEnd IfNext wsEnd Sub
In diesem Beispiel deklarieren wir eine ws-Variable, die zum Durchlaufen aller Arbeitsblätter in der Arbeitsmappe verwendet wird. Dann verwenden wir eine For Each- Schleife , um alle Blätter zu durchlaufen.
Innerhalb der Schleife überprüfen wir den Namen jedes Arbeitsblatts mit dem Vergleichsoperator <> . Wenn der Name des aktuellen Arbeitsblatts nicht gleich "Blatt1" ist, wählen wir ihn mit der Select-Methode aus.
Dieser Code kann an Ihre Bedürfnisse angepasst und geändert werden. Sie können beispielsweise den zu überprüfenden Namen des Arbeitsblatts ändern oder andere Aktionen innerhalb der Schleife hinzufügen.
Mithilfe ähnlicher Codebeispiele können Sie effizient mit Arbeitsblättern in Excel VBA arbeiten und die erforderlichen Aktionen nur auf ausgewählten Arbeitsblättern ausführen.
Wie verwende ich bedingte Operatoren, um ein Blatt auszuschließen
Um ein bestimmtes Arbeitsblatt von der Verarbeitung in Excel VBA auszuschließen, können Sie bedingte Anweisungen verwenden, um seinen Namen zu überprüfen und die Steuerung an einen weiteren Teil des Codes zu übergeben.
Zuerst müssen Sie auf die Kachelsammlung in der Arbeitsmappe zugreifen. Dazu können Sie das Workbook-Objekt und seine Sheets-Eigenschaft verwenden:
Dim wb As WorkbookDim ws As WorksheetSet wb = ThisWorkbookFor Each ws In wb.Sheets' Вставьте код обработки здесьNext ws
Dann gehen wir innerhalb der Schleife durch jedes Blatt und überprüfen seinen Namen. Wenn der Name des aktuellen Arbeitsblatts nicht mit dem auszuschließenden Arbeitsblatt übereinstimmt, führen Sie die erforderlichen Schritte aus:
If ws.Name <> "Имя_листа_для_исключения" Then' Вставьте код обработки здесьEnd If
Auf diese Weise werden alle Blätter außer dem auszuschließenden entsprechend Ihrem Code verarbeitet. Sie können die gewünschten Vorgänge hinzufügen, z. B. das Kopieren von Daten, das Ausführen von Berechnungen oder das Formatieren.
Der vollständige Code könnte beispielsweise so aussehen:
Sub ProcessSheets()Dim wb As WorkbookDim ws As WorksheetSet wb = ThisWorkbookFor Each ws In wb.SheetsIf ws.Name <> "Имя_листа_для_исключения" Then' Вставьте код обработки здесь' Например:ws.Range("A1").Value = "Пример"End IfNext wsEnd Sub
Dieses Beispiel zeigt, wie ein bestimmtes Arbeitsblatt mit bedingten Anweisungen in Excel VBA von der Verarbeitung ausgeschlossen wird. Sie können den Code an Ihre spezifischen Bedürfnisse anpassen und ihn zum Verwalten von Arbeitsblättern in Ihren Makros verwenden.
Anwenden eines Filters auf die Blattauswahl
In Excel VBA können Sie mehrere Arbeitsblätter gleichzeitig mithilfe der Sheets-Auflistung auswählen. Manchmal müssen Sie jedoch einen Filter anwenden und ein bestimmtes Blatt aus dieser Auflistung ausschließen. Dazu können Sie den folgenden Ansatz verwenden:
Erstellen Sie zunächst eine leere Sheets-Auflistung, in der die ausgewählten Blätter gespeichert werden:
Dim selectedSheets As New Collection
Gehen Sie dann durch alle Blätter in der Arbeitsmappe und überprüfen Sie, ob das Blatt die Filteranforderungen erfüllt. Wenn ja, fügen Sie es der selectedSheets-Auflistung hinzu:
For Each ws In ThisWorkbook.SheetsIf ws.Name <> "Имя_исключаемого_листа" ThenselectedSheets.Add wsEnd IfNext ws
Die selectedSheets-Auflistung enthält jetzt ausgewählte Arbeitsblätter, auf die Sie verschiedene Vorgänge oder Verarbeitungsvorgänge mithilfe von VBA anwenden können.
Anmerkung: Geben Sie anstelle von "Ausschlusslistenname" den Namen des Blatts an, das von der Auswahl ausgeschlossen werden soll. Dies kann eine beliebige Zeichenfolge sein, die ein Blatt identifiziert, z. B. seinen Namen oder seine Nummer.
Auf diese Weise können Sie mit einem Filter bestimmte Arbeitsblätter einfach aus einer Arbeitsmappe auswählen, während das Ausschließen eines einzelnen Arbeitsblatts es Ihnen ermöglicht, Operationen bequem auf andere Arbeitsblätter anzuwenden. Dieser Ansatz ist besonders nützlich, wenn eine Arbeitsmappe eine große Anzahl von Arbeitsblättern enthält und nur einige von ihnen bearbeitet werden müssen.