Het tweede hoofdstuk van het handboek "Gestructureerd programmeren in
Excel VBA" bespreekt de macrorecorder. Er wordt begonnen met een voorbeeld.
Daarna komen de basisstappen van het opnemen aan bod: starten, opnemen,
stoppen, uitvoeren. Ook wordt uitvoerig ingegaan op het verschil tussen absoluut
en relatief opnemen. Het hoofdstuk sluit af met een tiental oefeningen op
het gebruik van de recorder.
Het
voorbeeld op blz 11-12 van het handboek kunt
u volgen in een Flash-movie. De verschillende
stappen kunt u uitgebreid nalezen in het handboek.
Hieronder staan enkele suggesties en veel gemaakte fouten in verband met
het gebruik van de Excel macrorecorder:
- Probeer eerst de handelingen uit zonder de recorder aan te zetten. Onnodige
handelingen en fouten worden immers ook opgenomen.
- 'Zet alles klaar' bij het begin van de opnamesessie. Een fout die zeer
veel gemaakt wordt bij het opnemen is dat men geen rekening houdt met de
beginsituatie van de opname. Bijvoorbeeld, indien uw macro een bepaalde
waarde in de huidige cel moet plaatsen, dient u de correcte cel vooraf te
selecteren en dit niet als eerste actie van uw macro te nemen. Anderzijds,
als uw macro een kolom moet verbreden, ga er dan niet van uit dat de kolom
reeds geselecteerd is bij het begin van de macro.
Gebruik
zo veel als mogelijk sneltoetsen en knoppen uit de werkbalk. Indien u het
menu gebruikt, zal dit meestal meer uitgebreide code opleveren; alle standaardinstellingen
worden immers mee opgenomen. Bijvoorbeeld, klikken op de knop Tekstkleur
geeft de code Selection.Font.ColorIndex = 3
terwijl het menu Opmaak Celeigenschappen de volgende code geeft (zie kader
rechts).
- Vergeet niet om de recorder te stoppen. Dit doet u door te klikken op
de knop 'Opname stoppen'; niet door te klikken op het kruisje van
de betreffende werkbalk. Met dit laatste verbergt u alleen maar de werkbalk,
terwijl de opnamesessie verder gaat. Hebt u toch de 'Opname stoppen' werkbalk
verborgen, dan zult u die tijdens het opnemen van een macro weer zichtbaar
moeten maken. Anders krijgt u deze werkbalk nooit meer te zien; het is namelijk
een context-sensitieve werkbalk.
- In Excel 2000 en 2002 is het niet meer mogelijk om een macro
op een vooraf bepaalde plaats op te nemen. Wil u ergens een stuk code tussenvoegen,
neem de macro dan gewoon op en kopieer die manueel in de VBA editor.
- Tijdens het opnemen kunt u schakelen tussen absoluut en relatief opnemen.
Excel onthoudt wel de laatste toestand.