VBA Int / Integer Data Type (Dim Variable)

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

<>

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave