|
Macro's zijn
fantastisch, maar werken niet als je ze te lang maakt !! Excel blijkt een
limiet te hebben
wat betreft het uitvoeren van VBA code. Als je een macro wilt
uitvoeren die meer dan
64K
code bevat, dan werkt deze macro niet. Wat kun je nu doen als je een
heleboel regels code moet uitvoeren.
Modulair programmeren.
Er is in feite maar 1 keuze:
Verdeel je monstermacro in meerdere kleine procedures. Te vaak
wordt een programma in een stuk geschreven. Dat hoeft niet fout te
zijn, maar werkt bij grote programma's niet of heel onduidelijk.
De beste methode is om
een hoofdroutine te maken waarin je meerde subroutines aanbrengt.
Een goed voorbeeld is het volgende.
Public Sub Main()
Call Bestand_Openen
Call Gegevens_Lezen
Call Gegevens_Schrijven
Call Bestand_Sluiten
End Sub
Private Sub
Bestand_Openen()
.....
End Sub
Private Sub
Gegevens_Lezen()
.....
End Sub
In dit voorbeeld is de
hoofdroutine
"Public" zodat
Excel deze laat zien in de lijst met Macro's. De kleinere
subroutines zijn
"Private",
zodat ze alleen uitgevoerd kunnen worden in de module waarin ze
zich bevinden.
!!
Een voordeel van deze werkwijze is dat je stukken code die vaker
voorkomen maar een keer hoeft te programmeren. Als je ze in het
programma nodig hebt, roep je de subroutine aan die die code
bevat.
|