Variabler spiller en stor rolle i de fleste af de Excel-makroer, du støder på. Du kan tænke på variabler som hukommelsesbeholdere, som du kan bruge i dine procedurer. Der er forskellige typer variabler, som hver har til opgave at holde en bestemt type data.
Følgende er nogle af de almindelige typer variabler, du vil se:
-
String: Indeholder tekstdata
-
Heltal: Indeholder numeriske data fra –32.768 til 32.767
-
Lang: Indeholder numeriske data fra –2.147.483.648 til 2.147.483.647
-
Dobbelt: Indeholder numeriske data med flydende komma
-
Variant: Indeholder enhver form for data
-
Boolean: Indeholder binære data, der returnerer True eller False
-
Objekt: Indeholder et objekt fra Excel-objektmodellen
Når du opretter en variabel i en makro, erklærer du en variabel . Det gør du ved at indtaste Dim (forkortelse for dimension), derefter navnet på din variabel og derefter typen. For eksempel:
Dæmp MyText som streng
Dim MyNumber som heltal
Dim MyWorksheet som arbejdsark
Når du har oprettet din variabel, kan du udfylde den med data. Her er et par enkle eksempler på, hvordan du kan oprette en variabel og derefter tildele værdier til den:
Dæmp MyText som streng
MyText = Range("A1").Værdi
Dim MyNumber som heltal
MitNumber = Range("B1").Værdi * 25
Dim MyObject som arbejdsark
Indstil MyWorksheet = Sheets("Sheet1")
De værdier, du tildeler dine variabler, kommer ofte fra data, der er gemt i dine celler. Værdierne kan dog også være information, som du opretter. Det hele afhænger af opgaven. Denne opfattelse vil blive tydeligere, når du gennemgår makroerne i denne bog.
Selvom det er muligt at skabe kode, der ikke bruger variabler, vil du støde på mange eksempler på VBA-kode, hvor variable er ansat. Det er der to hovedårsager til.
For det første ved Excel ikke i sagens natur, hvad dine data bruges til. Den kan ikke se tal, symboler eller bogstaver. Den ser kun data. Når du erklærer variabler med specifikke datatyper, hjælper du Excel med at vide, hvordan det skal håndtere bestemte datastykker, så dine makroer giver de resultater, du ville forvente.
For det andet hjælper variabler ved at gøre din kode mere effektiv og lettere at forstå. Antag for eksempel, at du har et tal i celle A1, som du gentagne gange henviser til i din makro. Du kan hente dette nummer ved at pege på celle A1, hver gang du har brug for det:
Undermakro1()
Range("B1").Value = Range("A1").Værdi * 5
Område("C1").Værdi = Område("A1").Værdi * 10
Range("D1").Value = Range("A1").Værdi * 15
Slut Sub
Denne makro ville imidlertid tvinge Excel til at spilde cyklusser med at gemme det samme tal i hukommelsen, hver gang du peger på celle A1. Også, hvis du har brug for at ændre din projektmappe, så målnummeret ikke er i celle A1, men i for eksempel celle A2, skal du redigere din kode ved at ændre alle referencerne fra A1 til A2.
En bedre måde er at gemme nummeret i celle A1 kun én gang. For eksempel kan du gemme værdien i celle A1 i en heltalsvariabel kaldet myValue:
Sub WithVariable()
Dim myValue As Integer
myValue = Range("A1").Værdi
Range("C3").Value = myValue * 5
Range("D5").Value = myValue * 10
Range("E7").Værdi = minVærdi * 15
Slut Sub
Denne tilgang forbedrer ikke kun effektiviteten af din kode (det sikrer, at Excel læser tallet i celle A1 kun én gang), men sikrer også, at du kun behøver at redigere én linje, hvis designet af din projektmappe skulle ændre sig.