Datatyp för VBA-heltal - Komplett guide för användning av heltaldatatyp i VBA

Innehållsförteckning

Ett heltal är en datatyp i VBA som ges till vilken variabel som helst för att innehålla heltalvärden, begränsningarna eller parentesen för antalet av en heltalvariabel som kan innehålla liknar i VBA som de för andra språk, varje variabel definieras som heltal variabel med DIM-satsen eller nyckelordet i VBA.

Excel VBA-heltal

Datatyper är så viktiga i vilket kodningsspråk som helst eftersom alla variabeldeklarationer bör följas av datatypen som tilldelas dessa variabler. Vi har flera datatyper att arbeta med, och varje datatyp har sina egna fördelar och nackdelar. När vi förklarar variabler är det viktigt att veta detaljer om den specifika datatypen. Det här är artikeln tillägnad datatypen ”Integer” i VBA. Vi visar dig den fullständiga bilden av datatypen ”Heltal”.

Vad är heltalens datatyp?

Heltals är heltal, som kan vara positiva, negativa och noll men inte ett bråktal. I VBA-sammanhang är ”Heltal” en datatyp som vi tilldelar variablerna. Det är en numerisk datatyp som kan innehålla heltal utan decimaler. Heltals datatyp 2 byte lagring, vilket är hälften av VBA LONG datatyp, dvs. 4 byte.

Exempel på datatyp för Excel VBA-heltal

Nedan följer exemplen på VBA Integer Data-typen.

Exempel 1

När vi deklarerar en variabel är det nödvändigt att tilldela en datatyp till den och heltal en av dem, som vanligtvis används av alla användare baserat på kraven.

Som sagt kan ett heltal bara innehålla heltal, inte några bråktal. Följ stegen nedan för att se exemplet på en VBA-heltal datatyp.

Steg 1: Förklara variabeln som heltal.

Koda:

Sub Integer_Example () Dim k Som Integer End Sub

Steg 2: Tilldela värdet 500 till variabeln "k."

Koda:

Sub Integer_Example1 () Dim k As Integer k = 500 End Sub

Steg 3: Visa värdet i meddelandefältet VBA.

Koda:

Sub Integer_Example1 () Dim k As Integer k = 500 MsgBox k End Sub

När vi kör koden med F5-tangenten eller manuellt kan vi se 500 i meddelandefältet.

Exempel 2

Nu kommer jag att tilldela värdet -500 till variabeln "k."

Koda:

Sub Integer_Example2 () Dim k Som Integer k = -500 MsgBox k End Sub

Kör den här koden manuellt eller tryck på F5. Då kommer det också att visa värdet -500 i meddelandefältet.

Exempel # 3

Som jag sa till VBA kan datatypen Integer bara innehålla heltal, inte bråknummer som 25.655 eller 47.145.

Jag kommer dock att försöka tilldela fraktionsnumret till en VBA Integer-datatyp. Titta till exempel på koden nedan.

Koda:

Sub Integer_Example3 () Dim k As Integer k = 85.456 MsgBox k End Sub

Jag har tilldelat variabeln “k” 85.456. Jag kommer att köra denna VBA-kod för att se vad resultatet är.

  • Det har returnerat resultatet till 85, även om jag har tilldelat värdet på bråknumret. Detta beror på VBA-runda bråknummer till närmaste heltal.
  • Alla bråknummer, som är mindre än 0,5, avrundas nedåt till närmaste heltal. Till exempel 2.456 = 2, 45.475 = 45.
  • Alla bråknummer, som är större än 0,5, avrundas uppåt till närmaste heltal. För ett exempel 10,56 = 11, 14,789 = 15.

Om du tittar igen på det sammanlagda heltalet låter värdet “k” till 85,58.

Koda:

Sub Integer_Example3 () Dim k As Integer k = 85.58 MsgBox k End Sub

När jag kör den här koden med F5-tangenten eller manuellt, kommer den att returnera 86 eftersom allt mer än 0,5 kommer att avrundas upp till nästa heltal.

Begränsningar av heltaldatatyp i Excel VBA

Överflödesfel: Heltalsdatatypen ska fungera bra så länge det tilldelade värdet är mellan -32768 och 32767. I det ögonblick det passerar gränsen på vardera sidan kommer det att orsaka ett fel.

Titta till exempel på koden nedan.

Koda:

Sub Integer_Example4 () Dim k As Integer k = 40000 MsgBox k End Sub

Jag har tilldelat värdet 40000 till variabeln "k."

Eftersom jag har fullständig kunskap om heltaldatatyp säkert vet jag att den inte fungerar eftersom heltaldatatyp inte kan innehålla värdet mer än 32767.

Låt oss köra koden manuellt eller genom F5-tangenten och se vad som händer.

Hoppsan !!!

Jag fick felet som “Overflow” eftersom datatypen Integer inte kan innehålla mer än 32767 för positiva tal och -32768 för negativa siffror.

Fel i typavvikelse: Heltalsdata kan bara innehålla numeriska värden mellan -32768 till 32767. Antag att varje nummer som tilldelats mer än dessa siffror visar ett överflödesfel.

Nu ska jag försöka tilldela text eller strängvärden till den. I nedanstående exempelkod har jag tilldelat värdet ”Hej”.

Koda:

Sub Integer_Example4 () Dim k As Integer k = "Hello" MsgBox k End Sub

Jag kommer att köra den här koden genom köralternativet eller manuellt och se vad som händer.

Det visar felet som "typmatchning" eftersom vi inte kan tilldela variabeln "heltal datatyp" ett textvärde.

Intressanta artiklar...