Herhalen met For Next


Korte samenvatting

In deze video leer ik je om relevante (VBA) code kort en krachtig te herhalen met For Next. Door de commando’s For en Next te gebruiken, voorkom je dat je relevante code meermaals kopieert en plakt. Dat zou de macro onnodig lang maken.

De standaard opbouw voor het herhalen van code met de commando’s For en Next, ziet er als volgt uit. Hierbij staat x voor het aantal keer dat je (een gedeelte van) de code wilt herhalen.

Dim i As Integer

For i = 1 To x
   Code die je wilt herhalen
Next i

Je begint dus met het aanmaken van een variabele van het type Integer. Daarmee kun je verderop in de macro het aantal herhalingen tellen/bijhouden. Vervolgens start je met het For commando en geef je aan hoeveel keer (x) de code die volgt, herhaald moet worden. Daarna type je de te herhalen code en sluit je af met het Next commando. Met dit commando wordt vastgesteld of het aantal gewenste herhalingen al is bereikt. Zo nee, dan voert Excel de te herhalen code nogmaals uit. Zo ja, dan eindigt de For Next lus en gaat Excel verder met de rest van de macro.

In onderstaande video leg ik het herhalen van relevante code door middel van de For Next lus uit, met behulp van een dobbelsteen. Voor het gooien van een dobbelsteen, gebruik ik de volgende code.

INT ( RND * 6 ) + 1

Deze code doet het volgende:

  1. Met RND creëert Excel een random getal groter of gelijk aan 0 en kleiner dan 1 (bijv. 0,45)
  2. Excel vermenigvuldigt het random getal met 6 (bijv. 0,45 * 6 = 2,7)
  3. Met INT verwijdert Excel de getallen achter de komma (bijv. 2,7 wordt 2)
  4. Daarna telt Excel 1 bij de uitkomst op (bijv. 2 + 1 = 3)

Waarom 1 bij de uitkomst optellen? Voorbeeld 1: stel dat Excel bij stap 1 het random getal 0,01 trekt. Na stap 2 is dit getal 0,06 en na stap 3 is dit getal 0 geworden. Het getal 1 moet nu bij de uitkomst worden opgeteld om te voorkomen dat 0 als mogelijke uitkomst verschijnt. Met een dobbelsteen kun je immers geen 0 gooien.

Waarom 1 bij de uitkomst optellen? Voorbeeld 2: stel dat Excel bij stap 1 het random getal 0,99 trekt. Na stap 2 is dit getal 5,94 en na stap 3 is dit getal 5 geworden. Het getal 1 moet nu bij de uitkomst worden opgeteld, zodat ook 6 kan worden gegooid met de dobbelsteen.

Bekijk de video en leer in 8 minuten om code te herhalen met For Next. Het bestand dat ik in de video gebruik, staat onderaan deze blog. Je mag het gratis downloaden voor eigen gebruik.

Onderwerpen

In deze video bespreek ik de volgende onderwerpen:

  • For … Next
  • Dim … As Integer
  • ClearContents (methode)
  • Application.InputBox (object)