VBA Int / Integer Data Type (Dim Variable)

Integer (Int) Variable Type

VBA Int datatyp används för att lagra hela tal (inga decimalvärden). Men som vi kommer att se nedan måste heltalsvärdena ligga inom intervallet –32768 till 32768.

För att deklarera en Int -variabel använder du Dim Statement (förkortning för Dimension):

1 Dim intA som heltal

För att sedan tilldela ett värde till en variabel, använd helt enkelt likhetstecknet:

1 intA = 30000

Att sätta in detta i ett förfarande ser ut så här:

12345678 Sub IntExample ()'deklarera heltaletDim intA som heltal'fylla i heltaletintA = 30000'visa meddelanderutanMsgBox intAAvsluta Sub

Om du kör koden ovan visas följande meddelanderuta.

Lång variabel typ

Som nämnts ovan kan Int -variabler bara lagra värden mellan –32768 till 32768. Om du försöker tilldela ett värde utanför det intervallet till en Int -variabel får du ett felmeddelande:

När du klickar på de-bug kommer koden att gå sönder vid 'Fylla i heltalet som ett heltal kan inte lagra ett tal så högt som 50000.

Istället kan du deklarera en variabel med Lång data typ:

1 Dim longA som Long

Långa variabler kan lagra mycket långa datatyper (-2 147 483 648 till 2 147 483 648).

<>

Varför skulle du använda Int -variabler istället för långa variabler?

Långa variabler använder mer minne. För många år sedan var minnet ett stort problem när man skrev kod, men nu är datortekniken mycket förbättrad och det är tveksamt att du kommer att stöta på minnesproblem orsakade av långa variabler när du skriver VBA -kod.

Vi rekommenderar att du alltid använder långa variabler istället för Int -variabler. Vi kommer att fortsätta denna handledning med att diskutera Int -variabler, men kom ihåg att du kan använda typen Long -variabel istället.

Decimalvärden och Int -datatyper

Int -variabler kan inte lagra decimalvärden. Om du passerar ett decimaltal ett heltal avrundas decimaltalet för att ta bort decimalen.

Om du skulle köra proceduren nedan:

12345678 Sub IntExampleB ()'deklarera heltaletDim intA som heltal'fylla i heltaletintA = 3524,12'visa meddelanderutanMsgBox intAAvsluta Sub

Du skulle få följande resultat (avrundning nedåt):

Denna kod nedan:

12345678 Sub IntExampleB ()'deklarera heltaletDim intA som heltal'fylla i heltaletintA = 3524,52'visa meddelanderutanMsgBox intAAvsluta Sub

Skulle returnera följande meddelanderuta (avrundning uppåt):

Decimal / dubbel datatyp

Om du vill lagra en decimal måste du deklarera en variabel som tillåter decimaler. Det finns tre datatyper som du kan använda - singel, dubbel eller valuta.

1 Dim sngPris som singel
1 Dim dblPris som dubbel
1 Dim curPris som valuta

Den enskilda datatypen avrundar decimalpunkten något annorlunda än dubbel- och valutatypen, så det är att föredra att använda dubbel till enkel för noggrannhet. En dubbel kan ha upp till 12 decimaler medan valuta och singel båda kan ha upp till 4 decimaler.

För mer information om dessa datatyper kan du titta här.

Deklarera Int -variabel på modul eller global nivå

I de tidigare exemplen har vi deklarerat Int -variabeln inom ett förfarande. Variabler som deklareras med ett förfarande kan endast användas inom det förfarandet.

Istället kan du deklarera Int -variabler på modul- eller global nivå.

Modulenivå

Modulenivå variabler deklareras högst upp i kodmodulerna med Dämpa påstående.

Dessa variabler kan användas med alla procedurer i den kodmodulen.

Global nivå

Global nivå variabler deklareras också högst upp i kodmodulerna. Men istället för att använda Dämpa uttalande, använd offentlig uttalande för att indikera att heltalsvariabeln är tillgänglig för användning i hela ditt VBA -projekt.

1 Public IntA som heltal

Om du skulle deklarera heltalet på en modulnivå och sedan försöka använda det i en annan modul skulle ett fel uppstå.

Men om du hade använt det offentliga nyckelordet för att deklarera heltalet skulle felet inte uppstå och proceduren skulle fungera perfekt.

Konvertera sträng till Int

Det kan finnas en förekomst eller instanser när du kommer att behöva konvertera ett nummer som är lagrat som en sträng till ett heltal.

Du kommer att märka i det omedelbara fönstret att heltalet går till höger och anger ett tal, medan strängvärdet går till vänster - vilket indikerar text.

Konvertera Int till String

Omvänt kan du konvertera ett heltal till en sträng.

För mer information om dessa datatyper kan du titta här.

Format Heltal lagras som sträng

<>

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave