Heltall (Int) Variabel Type
VBA Int datatype brukes til å lagre hele tall (ingen desimalverdier). Men som vi vil se nedenfor, må heltallverdiene falle innenfor området –32768 til 32768.
For å deklarere en Int -variabel bruker du Dim Statement (forkortelse for Dimension):
1 | Dim intA som heltall |
For deretter å tilordne en verdi til en variabel, bare bruk likhetstegnet:
1 | intA = 30000 |
Å sette dette inn i en prosedyre ser slik ut:
12345678 | Sub IntExample ()'erklærer heltalletDim intA som heltall'fyll ut heltalletintA = 30000'vis meldingsboksenMsgBox intASlutt Sub |
Hvis du kjører koden ovenfor, vises følgende meldingsboks.
Lang variabel type
Som nevnt ovenfor kan Int -variabler bare lagre verdier mellom –32768 til 32768. Hvis du prøver å tilordne en verdi utenfor dette området til en Int -variabel, får du en feilmelding:
Når du klikker på de-bug, vil koden brytes ved 'Fyll ut heltallslinjen som et heltall ikke kan lagre et tall så høyt som 50000.
I stedet kan du deklarere en variabel med Lang data-type:
1 | Dim longA som Long |
Long Variables kan lagre svært lange datatyper (-2 147 483 648 til 2 147 483 648).
<>
Hvorfor vil du bruke Int -variabler i stedet for lange variabler?
Lange variabler bruker mer minne. For mange år siden var minne en stor bekymring når du skrev kode, men nå er datateknologien mye forbedret, og det er tvilsomt at du vil støte på minneproblemer forårsaket av lange variabler når du skriver VBA -kode.
Vi anbefaler alltid å bruke lange variabler i stedet for Int -variabler. Vi vil fortsette denne opplæringen med å diskutere Int -variabler, men husk at du kan bruke typen Lang variabel i stedet.
Desimalverdier og Int Datatyper
Int -variabler kan ikke lagre desimalverdier. Hvis du passerer et desimaltall et heltall, blir desimaltallet avrundet for å fjerne desimalet.
Derfor, hvis du skulle kjøre prosedyren nedenfor:
12345678 | Sub IntExampleB ()'erklærer heltalletDim intA som heltall'fyll ut heltalletintA = 3524,12'vis meldingsboksenMsgBox intASlutt Sub |
Du vil få følgende resultat (avrunding nedover):
Denne koden nedenfor:
12345678 | Sub IntExampleB ()'erklærer heltalletDim intA som heltall'fyll ut heltalletintA = 3524,52'vis meldingsboksenMsgBox intASlutt Sub |
Ville returnere følgende meldingsboks (avrunding):
Desimal / dobbel datatype
Hvis du vil lagre en desimal, må du deklarere en variabel som tillater desimaler. Det er 3 datatyper du kan bruke - enkelt, dobbelt eller valuta.
1 | Dim sngPris som singel |
1 | Dim dblPris som dobbel |
1 | Dim curPris som valuta |
Enkelt datatypen vil avrunde desimaltegnet litt annerledes enn dobbelt- og valutatypen, så det er å foretrekke å bruke dobbelt til enkelt for nøyaktighet. En dobbel kan ha opptil 12 desimaler, mens valuta og enkelt kan ha opptil 4 desimaler.
For mer informasjon om disse datatypene, kan du ta en titt her.
Erklær Int variabel på modul eller globalt nivå
I de foregående eksemplene har vi erklært Int -variabelen innenfor en prosedyre. Variabler deklarert med en prosedyre kan bare brukes innenfor denne prosedyren.
I stedet kan du deklarere Int -variabler på modul- eller globalt nivå.
Modulenivå
Modulenivå variabler deklareres øverst i kodemodulene med Dim uttalelse.
Disse variablene kan brukes med alle prosedyrer i den kodemodulen.
Globalt nivå
Globalt nivå variabler deklareres også øverst i kodemodulene. Imidlertid, i stedet for å bruke Dim uttalelse, bruk Offentlig setning for å indikere at heltallsvariabelen er tilgjengelig for bruk i hele VBA -prosjektet.
1 | Offentlig IntA som heltall |
Hvis du skulle deklarere heltallet på et modulnivå og deretter prøve å bruke det i en annen modul, ville det oppstå en feil.
Men hvis du hadde brukt det offentlige søkeordet til å deklarere heltallet, ville feilen ikke oppstå og prosedyren ville kjøre perfekt.
Konverter streng til Int
Det kan være en forekomst eller forekomster når du må konvertere et tall som er lagret som en streng til en heltallsverdi.
Du vil merke i det umiddelbare vinduet at heltallsverdien går til høyre og angir et tall, mens strengverdien går til venstre - indikerende tekst.
Konverter Int til streng
Motsatt kan du konvertere en heltallsverdi til en streng.
For mer informasjon om disse datatypene, kan du ta en titt her.
Format Heltall lagret som streng
<>