Wie zählt man blätter mit vba?
Wenn Sie in Excel viele Blätter haben, können Sie diese mithilfe von VBA-Code schnell zählen, anstatt sie manuell zu zählen oder eine beliebige Formel zu verwenden. In diesem Artikel werden wir verschiedene Möglichkeiten zum Zählen der Blätter einer Arbeitsmappe sehen.
Zählen Sie die Blätter in der aktiven Arbeitsmappe
Hier ist der Code, den Sie zum Zählen des aktiven Arbeitsmappenblatts verwenden müssen.
ThisWorkbook.Sheets.Count
In diesem Code haben Sie zunächst mit „ThisWorkbook“ auf die aktive Arbeitsmappe verwiesen und auf alle Blätter verwiesen. Am Ende verwenden Sie die Zählmethode, um alle Blätter zu zählen. Und wenn Sie Arbeitsblätter statt Blätter zählen möchten, verwenden Sie den folgenden Code.
ThisWorkbook.Worksheets.Count
Nützliche Links: Ausführen eines Makros – Makrorecorder – Visual Basic Editor – Handbuch zu persönlichen Makros
Zählen Sie Blätter aus einer anderen Arbeitsmappe
Sie können den Namen der Arbeitsmappe als Referenz verwenden und dann die darin enthaltenen Blätter zählen. Angenommen, Sie möchten die Blätter in der Arbeitsmappe „Buch1“ zählen.
Hier ist der Code.
Workbooks("sample-file.xlsx").Sheets.Count
Dieser Code gibt Ihnen die Anzahl der Blätter in der Arbeitsmappe „sample-file.xlsx“ an. Es gibt eine Sache, die Sie mitnehmen müssen: Dieser Ordner muss geöffnet sein.
Zählen Sie die Blätter aller geöffneten Ordner
Sie können mehrere Arbeitsmappen gleichzeitig geöffnet haben und alle Blätter in diesen Arbeitsmappen zählen.
Sub vba_loop_all_sheets() Dim wb As Workbook Dim i As Long For Each wb In Application.Workbooks If wb.Name <> "PERSONAL.XLSB" Then i = i + wb.Sheets.Count End If Next wb MsgBox "Total sheets in all the open workbooks: " & i End Sub
Zählen der Blätter eines geschlossenen Ordners
Jetzt haben wir hier Code, der auf die auf meinem Systemdesktop gespeicherte Arbeitsmappe verweist. Wenn ich diesen Code ausführe, öffnet er diese Arbeitsmappe im Hintergrund, zählt die darin enthaltenen Blätter und fügt diese Anzahl dann der Zelle A1 hinzu.
Sub vba_count_sheets() Dim wb As Workbook Application.DisplayAlerts = False Set wb = Workbooks.Open("C:UsersDellDesktopsample-file.xlsx") ThisWorkbook.Sheets(1).Range("A1").Value _ = wb.Sheets.Count wb.Close SaveChanges:=True Application.DisplayAlerts = True End Sub
Wir haben die Anzeigewarnungen zum Öffnen und Schließen der Datei im Backend deaktiviert.