Variabelen en Gegevenstypen
Veeg om het menu te tonen
Elke procedure die je schrijft, heeft een plek nodig om waarden tijdelijk op te slaan — zoals een klantnaam, een lopend totaal, of een ja/nee-indicator. Dat is wat een variabele is: een gelabelde doos in het geheugen waarin je een waarde kunt plaatsen en later weer kunt ophalen. Je maakt er één aan met Dim (afkorting van "dimension"), en je geeft VBA direct aan welk soort waarde erin komt:
Dim productName As String
Dim currentStock As Integer
Dim unitPrice As Double
Elke regel reserveert een gelabelde plek: productName kan alleen tekst bevatten, currentStock alleen gehele getallen, unitPrice alleen getallen met decimalen. Het vooraf opgeven van het type is geen bureaucratie — het zorgt ervoor dat VBA fouten kan opsporen voordat ze bugs worden. Probeer productName = 47 uit te voeren en VBA stopt direct met een type mismatch-fout, in plaats van stilletjes iets verkeerds op te slaan en later voor verwarring te zorgen.
Veelvoorkomende gegevenstypen
Vuistregel: gebruik Long in plaats van Integer voor tellers en rijnummers — het is niet trager in moderne Excel en voorkomt overflow bij grote datasets. Je zult Dim i As Long overal in deze cursus tegenkomen.
Option Explicit
Plaats deze ene regel helemaal bovenaan elk module, vóór elke Sub. Het verandert één ding: VBA weigert nu elke regel uit te voeren die een variabele gebruikt die je niet eerst met Dim hebt gedeclareerd:
Option Explicit
Sub Example()
Dim total As Double
total = 100 ' works — declared above
toatl = 200 ' typo — Option Explicit catches this at compile time
End Sub
Zonder Option Explicit maakt die typefout stilletjes een nieuwe variabele aan met de naam toatl, en je vraagt je twintig minuten af waarom total nooit verandert. Deze ene gewoonte voorkomt meer bugs dan wat dan ook in dit hoofdstuk.
Constanten
Constanten zijn benoemde waarden die nooit veranderen tijdens het uitvoeren van de code — ideaal voor zaken als belastingtarieven of drempelwaarden:
Const REORDER_THRESHOLD As Integer = 20
Door REORDER_THRESHOLD te gebruiken in plaats van overal 20 te typen, hoef je bij een wijziging in de bedrijfsregel slechts één regel aan te passen in plaats van je hele code te doorzoeken.
Taak
- Schrijf in
Section_2_VBA_Fundamentals.xlsmeenSubdie eenString-variabele voor een productnaam, eenDoublevoor de prijs en eenIntegervoor de voorraad declareert. - Ken deze de waarden toe voor
USB-C Hubdoor de letterlijke waarden in te voeren. - Gebruik
MsgBoxom alle drie in één bericht weer te geven, samengevoegd tot één string. - Voeg
Const LOW_STOCK As Integer = 20boven jeSubtoe en gebruik deze in eenMsgBoxom deze te vergelijken met de voorraadvariabele.
- Je hebt drie
Dim-regels nodig met verschillende types — kijk terug naar Figuur 2.1 als je de syntaxis bent vergeten:Dim name As Type. - De rij van USB-C Hub is Price 39.50, Stock 44. Ken deze direct toe:
price = 39.50. - Samenvoegen doe je met
&, niet met+. Bouw de string in delen op:"Name: " & productName & ", Price: " & price. - Constanten worden buiten een
Subgedeclareerd, bovenaan de module, direct naOption Explicit. VergelijkstockCountmetLOW_STOCKmet een gewone>of<in eenMsgBox-string — je hebt nog geenIfnodig, toon gewoon beide waarden zodat je de vergelijking kunt zien.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.