Werkbladen met maanden en weken in Excel maken is prima automatisch te regelen, zoals u in dit artikel kunt lezen. De tekst is afkomstig uit Het complete Boek Excel VBA voor professionals, 4e editie, waarin diep ingegaan wordt op zelf code kloppen en macro’s maken voor Microsoft’s spreadsheetprogramma.
Stel, u hebt regelmatig een nieuwe werkmap nodig met werkbladen voor iedere maand van het jaar. U kunt daarvoor een sjabloon maken, maar u kunt dit ook automatiseren door op een knop in het lint te klikken. De hierna volgende procedure doet dit voor u.

Code

Deze code roept een nieuwe, lege werkmap op met de regel:
Workbooks.Add
Hier worden twaalf werkbladen aan toegevoegd. Op zich zou dat kunnen met alleen:
Worksheets.Add Count:=12
Maar een nieuwe werkmap heeft standaard al een of meer werkbladen. Die zouden dan gewoon blijven staan. Daarom trekken we het bestaande aantal werkbladen van 12 af en wordt het benodigde aantal bladen toegevoegd:
Worksheets.Add Count:=12 - ActiveWorkbook.Worksheets.Count
Op iedere bladtab komt een korte weergave van een maand. Hiervoor wordt de lus For…Next 12 maal doorlopen en krijgt iedere bladtab een naam met:
Worksheets(i).Name

De namen van de bladtabs worden samengesteld met DateSerial. Als i gelijk is aan 1, maakt DateSerial de datum 1 januari 2001 (1-1-01) met:
DateSerial(1, i, 1)
Het jaartal en de dag zijn niet van belang, we hebben alleen de maand nodig; die wordt eruit gehaald met:
Format(DateSerial(1, i, 1), “mmm”)
Zo wordt ‘jan’ de naam van het eerste werkblad. In de tweede lus is i gelijk aan 2, maakt DateSerial de datum 1 februari 2001 en komt op de tweede bladtab ‘feb’ enzovoort. Zo hebt u in een mum van tijd een nieuwe werkmap met werkbladen voor iedere maand van het jaar.

- Wilt u naast deze 12 werkbladen enkele extra werkbladen, bijvoorbeeld voor jaaroverzichten, dan verhoogt u het getal bij
Count:=12. Neemt u daarCount:=15, dan krijgt u drie werkbladen extra (waarop geen naam van een maand verschijnt. - Wilt u deze macro vaker gebruiken, plaats de code dan in de Persoonlijke macrowerkmap en plaats de knop in het lint of in de werkbalk Snelle toegang; zie hoofdstuk 9.
Werkmap maken met 52 werkbladen
Hebt u een werkmap nodig met 52 werkbladen, waarvan de tabs ‘Week1’, ‘Week2’ enzovoort moeten heten, dan neemt u de volgende macro.

De code maakt een nieuwe werkmap met de regel:
Workbooks.Add
Eerst wordt gekeken hoeveel werkbladen deze nieuwe werkmap al heeft met:
ActiveWorkbook.Worksheets.Count
Dat aanwezige aantal wordt van 52 afgetrokken en zoveel werkbladen worden er toegevoegd met:
Worksheets.Add Count:=52 - ActiveWorkbook.Worksheets.Count
Ten slotte wordt 52 maal de lus uitgevoerd die ieder volgende bladtab voorziet van de naam ‘Week’ met een volgend nummer.
Het Complete Boek Excel VBA voor professionals
Als u vaak dezelfde bewerkingen in Excel uitvoert, laat ze dan door een macro doen. Die doet het automatisch, supersnel en nauwkeurig. Zo bespaart u zeeën van tijd, wordt uw werk gemakkelijker en profiteert u meer van de kracht van Excel. Macro’s worden geschreven in de taal VBA (Visual Basic for Applications). Daarin kunt u ook eigen rekenfuncties schrijven en dialoogvensters ontwerpen, waardoor u Excel nog krachtiger en veelzijdiger maakt.
In dit boek vindt u 550 macro’s en 40 rekenfuncties. Bij alle voorbeelden wordt stap voor stap uitgelegd hoe ze werken. Zo leert u in Het Complete Boek Excel VBA voor professionals de principes van VBA en kunt u ze aanpassen voor uw eigen werk.

Verwijzingen absoluut maken in Excel
Met het verwijzingen absoluut maken in Excel, zorg je voor meer controle over je rekenwerk. In voorkomende gevallen is dat verdraaid handig en zelfs noodzakelijk.

Excel Werkblad snel kopiëren naar een ander bestand
U kunt een Excel werkblad snel kopiëren naar Een ander bestand. Hoe, dat leest u in deze blogpost.

Werkbladen met maanden en weken in Excel
Werkbladen met maanden en weken maken in Excel is prima automatisch te regelen, zoals u in dit artikel kunt lezen.

Tijdsverschillen berekenen in Excel
Hoe laat is het op dit moment in – laten we zeggen – Shanghai? Tijdsverschillen berekenen in Excel is heel eenvoudig! In deze blogpost laat ik zien hoe je dat doet.

Objectgeoriënteerd programmeren in Excel
Leer in dit artikel de basisbeginselen van objectgeoriënteerd programmeren in Excel (en ook wat objecten zijn).

Een Excel-macro genereren met ChatGPT
ChatGPT kan niet alleen goed overweg met tekst, maar ook met code. Een Excel-macro genereren met ChatGPT blijkt verrassend goed te gaan.

Wim de Groot schrijft artikelen over Excel voor het populaire tijdschrift ComputerIdee en boeken bij van Duuren Media. Als freelance auteur heeft hij al vele lezers weten te boeien met dit rekenprogramma. Hij begeleidt in de gezondheidszorg mensen op het gebied van levensvragen. Daarbij is helder communiceren van groot belang. Dat hij helder kan communiceren blijkt ook in zijn uitleg van Excel. Aan beginnende en gevorderde gebruikers laat hij zien hoe ze de mogelijkheden van dit rekenwonder kunnen benutten. Als nuchtere noorderling doet hij niet moeilijk over zaken die ingewikkeld lijken. Zijn doel is om u plezier te laten beleven aan uw computer en aan Excel in het bijzonder. De boeken van Wim vind je hier.

