Hoe bladen tellen met vba?
Als u in Excel veel werkbladen heeft, kunt u VBA-code gebruiken om ze snel te tellen, in plaats van handmatig te tellen of een formule te gebruiken. In het artikel zullen we dus verschillende manieren zien om de bladen van een werkmap te tellen.
Tel bladen in actieve werkmap
Hier is de code die u moet gebruiken om het actieve werkmapblad te tellen.
ThisWorkbook.Sheets.Count
In deze code heeft u eerst naar de actieve werkmap verwezen met behulp van “ThisWorkbook” en naar alle bladen verwezen. Gebruik aan het einde de telmethode om alle bladen te tellen. En als u werkbladen wilt tellen in plaats van bladen, gebruikt u de volgende code.
ThisWorkbook.Worksheets.Count
Handige links: Een macro uitvoeren – Macrorecorder – Visual Basic Editor – Handboek voor persoonlijke macro’s
Tel bladen uit een andere werkmap
U kunt de naam van de werkmap gebruiken om ernaar te verwijzen en vervolgens de bladen erin tellen. Stel dat u de bladen in de werkmap “Boek1” wilt tellen.
Hier is de code.
Workbooks("sample-file.xlsx").Sheets.Count
Deze code geeft u het aantal bladen dat u in de werkmap “sample-file.xlsx” heeft. Er is één ding dat u moet meenemen: deze map moet open zijn.
Tel de vellen van alle geopende ordners
U kunt meerdere werkmappen tegelijkertijd open hebben en u kunt alle bladen in al deze werkmappen tellen.
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
Het tellen van de vellen van een gesloten map
Nu hebben we hier een code die verwijst naar de werkmap die op mijn systeembureaublad is opgeslagen. Wanneer ik deze code uitvoer, wordt deze werkmap achterin geopend en worden de bladen erin geteld, waarna dat aantal wordt opgeteld bij cel A1.
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
We hebben weergavewaarschuwingen voor het openen en sluiten van het bestand in de backend uitgeschakeld.