Voorbeeld Thema Content Excel-VBA - Office-DTC

Microsoft Excel VBA Voorbeeld Content Simpele Variabelen
Simpele Variabelen
Binnen VBA zijn er, net zoals in andere programmeertalen, verschillende manieren om binnen de
code gegevens op te slaan. Een variabele kan gebruikt worden om waardes van een bepaald typen
op te slaan. De waarde van deze variabele kan uitgelezen of veranderd worden door uw VBA code.
In VBA heeft iedere variabele een specifiek data type welke aangeeft wat voor soort gegevens deze
variabele kan bevatten. In Figuur 1 ziet u een overzicht van alle gegevenstype binnen VBA. U kunt
deze ook zelf vinden in de help file onder “Overzicht gegevenstypen”.
X
Figuur 1: Gegevenstype overzicht uit de VBA help file.
Om variabele te gebruiken zult u deze moeten toewijzen. U kunt dit in uw code doen door gebruik te
maken van de Dim instructie. Door middel van de instructie : Dim Aantal geeft u aan dat
“Aantal” een variabele is. Als u op deze manier een variabele toekent zal deze het datatype Variant
krijgen. Over het algemeen wilt u dit datatypen niet gebruiken omdat VBA hier zelf een onderliggend
type kiest en dit meer tijd en geheugen kost en omdat VBA niet altijd het juiste type kiest (met alle
problemen van dien).
Een betere manier om deze variabele in te stellen is om deze ook meteen een datatype toe te
kennen. U kunt dit op de volgende manier doen: Dim VariabeleNaam As DataType. U kunt de
variabele dus beter op de volgende manier toekennen:
Microsoft Excel VBA Voorbeeld Content Simpele Variabelen
Dim Aantal As Byte
of
Dim Aantal As Integer
Zoals u kunt zien in het overzicht gebruiken deze gegevenstypen aanzienlijk minder geheugen dan
het Variant typen. Hieronder staan nog een aantal voorbeelden van het toekennen van variabelen ter
verduidelijking van het concept.
Dim
Dim
Dim
Dim
Dim
Naam As String
Verjaardag As Date
Leeftijd As Integer
Salaris As Currency
Map1 As Workbook
X
Omdat variabelen niet expliciet toegekend hoeven te worden in VBA kan dit zorgen voor vervelende
typfouten die leiden tot vreemde en ongewenste resultaten.
Dim Omzet As Integer
Dim Aantal As Integer
Dim PrijsPerStuk As Integer
Aantal = 4
PrijsPerStuk = 5
Omzet = Aantal * PrijsperStk
Zoals u ziet zit er een typefout in de laatste regel. U zult denken dat deze constructie een
foutmelding geeft maar dat gebeurt niet omdat VBA zelf een nieuwe variabele PrijsperStk
aanmaakt met als type Variant.
Om dit soort problemen te voorkomen is het mogelijk om te verplichten dat alle variabele toegekend
moeten worden. U kunt dit doen door boven uw code (per module) een stukje code aan te geven
waarin staat dat u alle variabele moet toekennen: Option Explicit. Doet u dit niet dan geeft
VBA een foutmelding. Deze optie kan ook ingeschakeld worden in de VBA editor via Extra → Opties
zoals te zien in Figuur 2.
Microsoft Excel VBA Voorbeeld Content Simpele Variabelen
X
Figuur 2: Extra -> Opties en Variabelen declareren vereist.
Numeriek
Zoals in Figuur 2 is te zien zijn er verschillen gegevens typen. Zo vallen de Integer, Long, Single,
Double en Currency onder de numerieke typen en zijn gemaakt voor het opslaan van getallen.
Boolean
De Boolean is een variabel die maar 2 waarden kan hebben: True en False. Deze variabele wordt
veel gebruikt in conditionele statements.
String
Het String type wordt gebruikt voor de opslag van karakters. Dit kan tekst, nummers en leestekens
zijn evenals controle karakters zoals vbtab. Een string wordt toegewezen door middel van dubbele
aanhalingstekens:
Dim NaamTraining As String
NaamTraining = “Office-DTC”
Er zijn 2 typen Strings. De variabele lengte String zoals hierboven gedeclareerd en de String variabele
met vaststaande lengte. De vaststaande lengte String variabele kunt u op de volgende manier
declareren:
Dim Data As String * 10
Data = “abcde”
Bovenstaande declareer een String met naam Data met als lengte 10 karakters. De inhoud van de
string is “abcde “ (5 spaties). Bij een vaststaande lengte String zal deze opgevuld worden met
spaties totdat deze vol zit.
Microsoft Excel VBA Voorbeeld Content Simpele Variabelen
Variant
Het variant gegevenstype hebben we al eerder gezien. Dit datatype kan ieder ander type data
bevatten behalve een vaststaande-lengte-String en een eventueel zelfgemaakt gegevenstypen.
Object gegeven type
Zoals ook besproken in de het Excel Object Model zijn er vele Excel Objecten die gebruikt kunnen
worden binnen Excel. Ook deze kunnen als variabele toegekend worden. Zo kunt u bijvoorbeeld een
Werkblad of Werkmap toekennen aan een variabele. Een aantal voorbeelden:
Dim wb1 As Workbook
Dim blad1 As Worksheet
Dim Bereik As Range
+31(0)85 401 91 35
X
[email protected]
www Office-DTC.com