Vba: het aantal vellen in een werkmap tellen
U kunt de volgende methoden gebruiken om het aantal vellen in een werkmap in Excel te tellen:
Methode 1: Tel het aantal vellen in de actieve werkmap
SubCountSheetsActive ()
Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub
Methode 2: tel het aantal vellen in een open werkmap
SubCountSheetsOpen ()
Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub
Methode 3: tel het aantal vellen in een gesloten ringband
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
De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken.
Voorbeeld 1: Tel het aantal vellen in een actieve werkmap
Laten we zeggen dat we de volgende Excel-werkmap open hebben en deze bekijken:
We kunnen de volgende macro gebruiken om het totale aantal bladen in deze werkmap te tellen en het aantal in cel A1 weer te geven:
SubCountSheetsActive ()
Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Merk op dat cel A1 de waarde 6 bevat.
Dit vertelt ons dat er 6 bladen in dit werkboek zitten.
Voorbeeld 2: Tel het aantal vellen in een open map
Stel dat we een Excel-werkmap hebben met de naam my_data.xlsx met twee geopende werkbladen, maar we bekijken deze momenteel niet.
We kunnen de volgende macro gebruiken om het totale aantal bladen in deze werkmap te tellen en het aantal in cel A1 van de actieve werkmap weer te geven:
SubCountSheetsOpen ()
Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Merk op dat cel A1 de waarde 2 bevat.
Dit vertelt ons dat er twee bladen in de open werkmap zijn met de naam my_data.xlsx .
Voorbeeld 3: Het aantal vellen tellen in een gesloten ringband
Stel dat we een Excel-werkmap hebben met de naam my_data.xlsx met twee bladen die momenteel niet geopend zijn, maar zich op de volgende bestandslocatie bevinden:
C:\Gebruikers\Bob\Desktop\mijn_data.xlsx
We kunnen de volgende macro gebruiken om het totale aantal bladen in deze werkmap te tellen en het aantal in cel A1 van het eerste blad van de actieve werkmap weer te geven:
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
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Merk op dat cel A1 de waarde 2 bevat.
Dit vertelt ons dat er twee bladen in de gesloten werkmap staan met de naam my_data.xlsx .
Opmerking : In de code vertelt Application.DisplayAlerts=False aan VBA dat het proces van het openen van de gesloten werkmap, het tellen van de bladen en het vervolgens sluiten van de werkmap niet moet worden weergegeven.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: het aantal rijen binnen bereik tellen
VBA: cellen tellen met specifieke tekst
VBA: Hoe COUNTIF- en COUNTIFS-functies te schrijven