Variabelen
Dit artikel gaat over de variabelen in de VBA code. De basis variables (variabelen) zijn Integer, String, Double en Boolean.
Deze zijn erg handig als een bepaalde invoer meerdere keren terugkomt in de code.
Variabelen voorbeelden
Voor alle voorbeelden is een besturingselement knop aangemaakt (Ontwikkelaars tabblad activeren).
Hier koppel ik de macro knop aan, zodat je deze code hebt:
Sub Knop1_Klikken()
End Sub
Integer
Het Integer variabel kan alleen hele nummers weer laten geven.
Gebruik in dit voorbeeld deze code:
Dim x As Integer
x = 3
Range("A1").Value = x
Hierbij wordt in cel A1 de Integer waarde x weergegeven, in dit geval is x 3.
String
Deze variabel geeft alleen tekst weer. Hier is deze code een voorbeeld:
Dim site As String
site = "Excelweb"
Range("A1").Value = site
Hierbij wordt in het begin aangegeven dat de String site is. Vervolgens wordt er gezegd dat site het woord Excelweb is. Als laatste wordt de opdracht gegeven om in A1 de waarde te zetten gelijk de String site.
Double
Deze ondersteund ook alleen getallen, alleen kan je hier wel decimalen gebruiken.
De code als voorbeeld:
Dim x As Double
x = 6.3
Range("A1").Value = x
In cel A1 wordt x weergegeven en x is de variabel Double en heeft als waarde 6,3. Je dient het wel op zijn Engels in te voeren dus is de komma (,) een punt (.).
Boolean
Boolean geeft een waarde weer als aan een bepaalde opgave voldaan wordt.
Hierbij de code:
Dim doorgaan As Boolean
doorgaan = True
If doorgaan = True Then MsgBox "Op Excelweb leer je alles over Excel"
Hier is doorgaan de Boolean. Omdat deze waar is, als je op de knop klikt, wordt de opgegeven waarde weergegeven.
Option Explicit
Deze voorwaarden moet zelfs nog boven de Sub van de Knop vermeld worden. Als je deze optie gebruikt, moeten de opgegeven variabelen goed gemaakt worden. Als hier een fout in zit dan wordt de fout weergegeven in de VB Editor.
Als we de onderstaande code gebruiken, gebeurt er helemaal niks als je op de knop drukt:
Dim dx As Integer
dx = 3
Range("A1").Value = x
Zet je er echter Option Explicit, dus je hebt deze volledige code:
Option Explicit
Sub Knop1_Klikken()
Dim dx As Integer
dx = 3
Range("A1").Value = x
End Sub
Dan krijg je een foutmelding te zien.
Je kan Excel ook aangeven dat er standaard gebruik gemaakt dient te worden van Option Explicit.
Ga in de bovenste balk naar Extra, klik hier op Opties en vink aan ‘Variabelen declareren vereist’.
Static
Om te gaan tellen hoeveel keer op een knop gedrukt wordt kan je ook VBA gebruiken.
Om een 1 te krijgen en op te tellen verwacht je deze code:Sub Knop1_Klikken()
Dim x As Integer
x = x + 1
Range("A1").Value = x
End Sub
Echter hoe vaak je op de knop drukt, er verschijnt in cel A1 steeds weer het getal 1. Verander een woord en het werkt wel, Dim wordt hier vervangen door Static:Static x As Integer
x = x + 1
Range("A1").Value = x
Nu wordt er in cel A1 steeds 1 opgeteld als je klikt, de eerste klik zal alleen zorgen voor het getal 1.