VBA-variabelen, gegevenstypen en constanten in Excel
โก Slimme samenvatting
VBA-variabelen, gegevenstypen en constanten in Excel slaan de waarden op waarmee een programma werkt en geven ze een naam. Deze pagina legt de naamgevingsregels voor variabelen uit, impliciete en expliciete declaratie met Dim, de numerieke en niet-numerieke gegevenstypen en hoe u een constante declareert met Const.

Variabelen worden in bijna alle computerprogramma's gebruikt en VBA is daarop geen uitzondering. Het is een goede gewoonte om een โโvariabele aan het begin van de procedure te declareren. Het is niet noodzakelijk, maar het helpt om de aard van de inhoud (tekst, data, getallen, etc.) te identificeren.
VBA-variabelen
Variabelen zijn specifieke waarden die zijn opgeslagen in een computergeheugen of opslagsysteem. Later, kunt u die waarde in code gebruiken en uitvoeren. De computer haalt die waarde op uit het systeem en wordt weergegeven in de uitvoer. Elk van de typen Excel VBA-variabelen moet een naam krijgen.
Om de variabele in VBA een naam te geven, moet u de volgende regels volgen.
- Het moet minder dan 255 tekens bevatten
- Er is geen tussenruimte toegestaan
- Het mag niet met een getal beginnen
- Periode is niet toegestaan
Hier zijn enkele voorbeelden van geldige en ongeldige namen voor variabelen in VBA.
| Mijn horloge | Mijn horloge |
| Nieuwe Auto1 | 1_NewCar (niet beginnen met nummer) |
| Werknemer-ID | Werknemer-ID (spatie niet toegestaan) |
In VBA, moeten we de variabelen declareren voordat we ze gebruiken door namen en gegevenstype toe te wijzen.
In VBA worden variabelen impliciet of expliciet gedeclareerd.
- impliciet: Hieronder ziet u een voorbeeld van een impliciet gedeclareerde variabele.
- label=goeroe99
- inhoud=4
- Uitdrukkelijk: Hieronder ziet u een voorbeeld van een variabele die expliciet is gedeclareerd. U kunt het trefwoord โDimโ in de syntaxis gebruiken
- Schemerig Num als geheel getal
- Schemerig wachtwoord als tekenreeks
VBA-variabele verschilt niet van andere programmeertalen. Om een โโvariabele in VBA te declareren, gebruik je het trefwoord โDim.โ
Syntaxis voor VBA-variabele,
Om een โโvariabele in VBA te declareren, typt u Dim gevolgd door een naam:
Sub Exercise () Dim <name> End Sub
Voordat we de variabelen uitvoeren, moeten we a registreren macro's in ExcelOm een โโmacro op te nemen, doet u het volgende:
Stap 1): Neem de macro op 1
Stap 2) : Macro 1 stoppen
Stap 3): Open de Macro-editor, voer de code voor de variabele in Macro1 in
Stap 4): Voer de code voor Macro 1 uit
Voorbeeld voor VBA-variabele
Sub Macro1() Dim Num As Integer Num = 99 MsgBox " Guru " & Num End Sub
Wanneer u deze code uitvoert, krijgt u de volgende uitvoer in uw spreadsheet.
Excel VBA-gegevenstypen
Computers kunnen geen onderscheid maken tussen getallen (1,2,3..) en strings (a,b,c,..). Om dit onderscheid te maken, gebruiken we gegevenstypen.
VBA-gegevenstypen kunnen in twee typen worden gescheiden
- Numerieke gegevenstypen
| Type | Opslag | Bereik van waarden |
|---|---|---|
| Byte | 1 bytes | 0 tot 255 |
| Geheel getal | 2 bytes | -32,768 naar 32,767 |
| Lang | 4 bytes | -2,147,483,648 naar 2,147,483,648 |
| Enkele | 4 bytes | -3.402823E+38 tot -1.401298E-45 voor negatieve waarden 1.401298E-45 tot 3.402823E+38 voor positieve waarden. |
| Double | 8 bytes | -1.79769313486232e+308 tot -4.94065645841247E-324 voor negatieve waarden 4.94065645841247E-324 tot 1.79769313486232e+308 voor positieve waarden. |
| Valuta | 8 bytes | -922,337,203,685,477.5808 naar 922,337,203,685,477.5807 |
| Decimaal | 12 bytes | +/- 79,228,162,514,264,337,593,543,950,335 als er geen decimaal is, gebruik dan +/- 7.9228162514264337593543950335 (28 decimalen) |
- Niet-numerieke gegevenstypen
| Data type | Bytes gebruikt | Bereik van waarden |
|---|---|---|
| Snaar (vaste lengte) | Lengte touwtje | 1 naar 65,400-tekens |
| Snaar (variabele lengte) | Lengte + 10 bytes | 0 tot 2 miljard tekens |
| Boolean | 2 bytes | Waar of niet waar |
| Datum | 8 bytes | 1 januari 100 tot 31 december 9999 |
| Object | 4 bytes | Elk ingebed object |
| Variant(numeriek) | 16 bytes | Elke waarde zo groot als Double |
| Variant(tekst) | Lengte+22 bytes | Hetzelfde als een tekenreeks met variabele lengte |
In VBA, als de Als het gegevenstype niet is opgegeven, wordt de variabele automatisch als variant gedeclareerd.
Laten we een voorbeeld bekijken over het declareren van variabelen in VBA. In dit voorbeeld declareren we drie soorten variabelenreeksen: toetredingsdatum en valuta.
Stap 1) Net als in de vorige tutorial zullen we de commandButton1 invoegen in ons Excel blad.
Stap 2) Klik in de volgende stap met de rechtermuisknop op de knop en selecteer Code bekijken. Het opent het codevenster zoals hieronder weergegeven.
Stap 3) In deze stap,
- Sla uw bestand op door op de knop Opslaan te klikken
- Klik vervolgens op het Excel-pictogram
in hetzelfde venster om het Excel-blad terug te geven.
- U kunt zien dat de ontwerpmodus โaanโ staat, groen gemarkeerd
Stap 4) Schakel de ontwerpmodus uit voordat u op de opdrachtknop klikt
Stap 5) Nadat u de ontwerpmodus hebt uitgeschakeld, klikt u op commandButton1. Het toont de volgende variabele als uitvoer voor het bereik dat we in de code hebben gedeclareerd.
- Naam
- Toetredingsdatum
- Inkomen in valuta
Constant in VBA
Constant is als een variabele, maar u kunt deze niet wijzigen. Om VBA-constanten te declareren, kunt u trefwoord gebruiken const.
Er zijn twee soorten constante,
- Ingebouwd of intrinsiek geleverd door de applicatie.
- Symbolisch of door de gebruiker gedefinieerd
U kunt het bereik opgeven als privaat standaard of publiek. Bijvoorbeeld,
Openbare Const DaysInYear=365
Privรฉ Const-werkdagen=250
Download Excel met bovenstaande code
Download het bovenstaande Excel-bestand. Code
Variabele scope en Option Explicit
De plaats waar een variabele wordt gedeclareerd, bepaalt waar deze kan worden gebruikt, en een kleine instelling bovenaan een module voorkomt de meeste ongewenste acties.ping Fouten maken. Inzicht in beide zorgt ervoor dat een groeiend programma betrouwbaar blijft.
| Keyword | strekking | Levensduur |
|---|---|---|
| Dim (binnen een Sub) | Alleen de procedure waarin het is aangegeven | De reset wordt elke keer uitgevoerd wanneer de procedure wordt uitgevoerd. |
| Statisch | Alleen de procedure, maar de waarde blijft behouden. | Onthouden tussen de telefoontjes door |
| Privรฉ (bovenaan de module) | Elke procedure in die module | Levens terwijl het werkboek open is |
| Openbaar (bovenaan de module) | Elke module in het project | Levens terwijl het werkboek open is |
๐กTip: Type Optie Expliciet als de eerste regel van elke module. Het dwingt elke variabele om met Dim te worden gedeclareerd, zodat een verkeerd gespelde naam tijdens het compileren wordt opgemerkt in plaats van dat er stilletjes een nieuwe lege Variant wordt aangemaakt.






