Vba: so zählen sie die anzahl der blätter in einer arbeitsmappe
Sie können die folgenden Methoden verwenden, um die Anzahl der Blätter in einer Arbeitsmappe in Excel zu zählen:
Methode 1: Zählen Sie die Anzahl der Blätter in der aktiven Arbeitsmappe
SubCountSheetsActive ()
Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub
Methode 2: Zählen Sie die Anzahl der Blätter in einer geöffneten Arbeitsmappe
SubCountSheetsOpen ()
Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub
Methode 3: Zählen Sie die Anzahl der Blätter in einem geschlossenen Ordner
SubCountSheetsClosed ()
Application.DisplayAlerts = False
Set wb = Workbooks.Open(" C:\Users\Bob\Desktop\my_data.xlsx ")
'count sheets in closed workbook and display count in cell A1 of current workbook
ThisWorkbook.Sheets(1).Range(" A1 ").Value = wb.Sheets.Count
wb.Close SaveChanges:=True
Application.DisplayAlerts = True
End Sub
Die folgenden Beispiele zeigen, wie jede dieser Methoden in der Praxis angewendet werden kann.
Beispiel 1: Zählen Sie die Anzahl der Blätter in einer aktiven Arbeitsmappe
Nehmen wir an, wir haben die folgende Excel-Arbeitsmappe geöffnet und sehen sie uns an:
Mit dem folgenden Makro können wir die Gesamtzahl der Blätter in dieser Arbeitsmappe zählen und die Zahl in Zelle A1 anzeigen:
SubCountSheetsActive ()
Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beachten Sie, dass Zelle A1 den Wert 6 enthält.
Dies sagt uns, dass diese Arbeitsmappe 6 Blätter enthält.
Beispiel 2: Zählen Sie die Anzahl der Blätter in einem offenen Ordner
Nehmen wir an, wir haben eine Excel-Arbeitsmappe namens my_data.xlsx mit zwei geöffneten Blättern, die wir aber derzeit nicht anzeigen.
Mit dem folgenden Makro können wir die Gesamtzahl der Blätter in dieser Arbeitsmappe zählen und die Zahl in Zelle A1 der aktiven Arbeitsmappe anzeigen:
SubCountSheetsOpen ()
Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beachten Sie, dass Zelle A1 den Wert 2 enthält.
Dies sagt uns, dass es in der geöffneten Arbeitsmappe zwei Blätter mit dem Namen my_data.xlsx gibt.
Beispiel 3: Zählen der Anzahl der Blätter in einem geschlossenen Ordner
Nehmen wir an, wir haben eine Excel-Arbeitsmappe namens my_data.xlsx mit zwei Blättern, die derzeit nicht geöffnet sind, sich aber am folgenden Dateispeicherort befinden:
C:\Benutzer\Bob\Desktop\my_data.xlsx
Mit dem folgenden Makro können wir die Gesamtzahl der Blätter in dieser Arbeitsmappe zählen und die Zahl in Zelle A1 des ersten Blatts der aktiven Arbeitsmappe anzeigen:
SubCountSheetsClosed ()
Application.DisplayAlerts = False
Set wb = Workbooks.Open(" C:\Users\Bob\Desktop\my_data.xlsx ")
'count sheets in closed workbook and display count in cell A1 of current workbook
ThisWorkbook.Sheets(1).Range(" A1 ").Value = wb.Sheets.Count
wb.Close SaveChanges:=True
Application.DisplayAlerts = True
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beachten Sie, dass Zelle A1 den Wert 2 enthält.
Dies sagt uns, dass es in der geschlossenen Arbeitsmappe zwei Blätter mit dem Namen my_data.xlsx gibt.
Hinweis : Im Code weist Application.DisplayAlerts=False VBA an, den Vorgang des Öffnens der geschlossenen Arbeitsmappe, des Zählens der Blätter und des anschließenden Schließens der Arbeitsmappe nicht anzuzeigen.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in VBA ausführen:
VBA: So zählen Sie die Anzahl der Zeilen im Bereich
VBA: So zählen Sie Zellen mit bestimmtem Text
VBA: So schreiben Sie COUNTIF- und COUNTIFS-Funktionen