Dag Eddy,
Als ik "Option Explicit" bovenaan mijn code zet loopt hij vast bij KanaalNr van de Sub Rollaag en krijg de volgende melding:
Een variabele is niet gedefinieerd.
Deze melding krijg ik ook als ik
"Option Explicit
Dim commando As String"
Bovenaan de code zet.
Ook als ik "Dim commando As String" bij Sub lijn en bij Sub maten zet.
Waarschijnlijk komt het nogal precies waar de bepaalde codes staan.
Maar ik beheers dit niet genoeg om dat te bevatten 
Waar zou de code "Dim commando As String" precies moeten staan?
De code "Dim commando As String" is een voorbeeld.
Met de code "Option Explicit" verplicht je jezelf om de vars vooraf in je sub te definieeren.
Dan wet je wat er in een var kan komen en sluipen er minder fouten in het coderen.
Zo weet je bv dat bij een "Dim int As Integer" altijd een heel getal komt zonder decimalen.
Bij "Dim commando As String" is er dus altijd sprake van een string -> letter, woord of zin.
Dim Punt(2) As Double
Heeft een soort verdieping dus eigelijk drie vars in één:
Punt(0), Punt(1) en Punt(2) allemaal van het type Double.
Dit kun je bv gebruiken als je een punt opvraagt in AutoCAD, alleen dan geef je geen nummer op.
Hier een simpel voorbeeld:
Option Explicit
Sub GeefPunt()
Dim Punt() As Double ' dit had ook zo kunnen staan: Dim Punt() As Variant -> Voor alles te gebruiken
' Vraag een punt op in het active acad window
Punt() = ThisDrawing.Utility.GetPoint(, "Geef punt op: ")
' Toon de opgevraagde waardes
Debug.Print "X: " & Punt(0)
Debug.Print "Y: " & Punt(1)
Debug.Print "Z: " & Punt(2)
End Sub
Door je code op die manier aan te passen kun je ook makkelijker weten wat de code doet.
Neemt niet weg dat opmerkingen (gedefinieerd voorafgaande met een ') de code nóg beter leesbaarder maken zoals in het voorbeeld.