VBA-kokonaislukutietotyyppi | Täydellinen opas kokonaislukutyypin käyttämiseen VBA: ssa

Kokonaisluku on VBA: n tietotyyppi, joka annetaan mille tahansa muuttujalle kokonaislukuarvojen säilyttämiseksi, kokonaislukumuuttujan lukumäärän rajoitukset tai hakasulku on samanlainen VBA: ssa kuin muilla kielillä, mikä tahansa muuttuja määritellään kokonaisluvuksi muuttuja käyttämällä DIM-käskyä tai avainsanaa VBA: ssa.

Excel VBA: n kokonaisluku

Tietotyypit ovat niin tärkeitä kaikilla koodauskielillä, koska kaikkien muuttujailmoitusten tulisi seurata tietotyyppien osoittamista näille muuttujille. Meillä on useita tietotyyppejä, joiden kanssa voimme työskennellä, ja jokaisella tietotyypillä on siihen omat etunsa ja haittansa. Kun ilmoitamme muuttujia, on tärkeää tietää yksityiskohdat tietystä tietotyypistä. Tämä artikkeli on omistettu VBA: n ”Integer” -tietotyypille. Näytämme sinulle kokonaiskuvan kokonaislukutyypistä.

Mikä on kokonaislukutyyppi?

Kokonaisluvut ovat kokonaislukuja, jotka voivat olla positiivisia, negatiivisia ja nolla, mutta eivät murtolukuja. VBA-kontekstissa kokonaisluku on tietotyyppi, jonka annamme muuttujille. Se on numeerinen tietotyyppi, johon mahtuu kokonaislukuja ilman desimaalipaikkoja. Kokonaisluku tietotyyppi 2 tavua tallennustilaa, joka on puolet VBA LONG -tietotyypistä eli 4 tavua.

Esimerkkejä Excel VBA Integer -tietotyypistä

Alla on esimerkkejä VBA-kokonaislukutyypistä.

Voit ladata tämän VBA-kokonaislukutyyppimallin täältä - VBA-kokonaislukutietotyyppimalli

Esimerkki 1

Kun ilmoitamme muuttujan, on tarpeen määrittää sille tietotyyppi ja kokonaisluku, jota kaikki käyttäjät käyttävät yleisesti vaatimusten perusteella.

Kuten sanoin, kokonaisluku voi sisältää vain kokonaislukuja, ei murtolukuja. Seuraa alla olevia vaiheita nähdäksesi esimerkin VBA-kokonaislukutyypistä.

Vaihe 1: Ilmoita muuttuja kokonaislukuksi.

Koodi:

 Ala kokonaisluku_esimerkki () Dim k As Integer End Sub 

Vaihe 2: Määritä muuttujalle “k” arvo 500.

Koodi:

 Ala kokonaisluku_esimerkki1 () Dim k As kokonaisluku k = 500 End Sub 

Vaihe 3: Näytä arvo VBA-viestiruudussa.

Koodi:

 Aikoluku_esimerkki1 () Dim k As kokonaisluku k = 500 MsgBox k End Sub 

Kun suoritamme koodin F5-näppäimellä tai manuaalisesti, voimme nähdä 500 viestiruudussa.

Esimerkki 2

Määritän nyt arvoksi -500 muuttujalle “k”.

Koodi:

 Aikoluku_esimerkki2 () Dim k As kokonaisluku k = -500 MsgBox k End Sub 

Suorita tämä koodi manuaalisesti tai paina sitten F5, se näyttää myös arvon -500 viestiruudussa.

Esimerkki 3

Kuten kerroin VBA-kokonaislukutietotyypille, voi olla vain kokonaislukuja, ei murtolukuja kuten 25.655 tai 47.145.

Yritän kuitenkin määrittää murto-osan VBA-kokonaislukutietotyypille. Katso esimerkki alla olevasta koodista.

Koodi:

 Aikoluku_esimerkki3 () Dim k As kokonaisluku k = 85.456 MsgBox k End Sub 

Olen määrittänyt muuttujalle “k” 85.456. Suoritan tämän VBA-koodin nähdäksesi, mikä tulos on.

  • Se on palauttanut tuloksen 85: ksi, vaikka olen määrittänyt murtoluvun arvon. Tämä johtuu siitä, että VBA pyöristää murtoluvut lähimpään kokonaislukuun.
  • Kaikki alle 0,5: n murtoluvut pyöristetään alaspäin lähimpään kokonaislukuun. Esimerkiksi 2.456 = 2, 45.475 = 45.
  • Kaikki yli 0,5: n murtoluvut pyöristetään ylöspäin lähimpään kokonaislukuun. Esimerkiksi 10,56 = 11, 14,789 = 15.

Jos haluat tarkastella uudelleen pyöristettyä kokonaislukua, arvo “k” saa 85,58: n.

Koodi:

 Aikoluku_esimerkki3 () Dim k As kokonaisluku k = 85,58 MsgBox k End Sub 

Kun suoritan tämän koodin F5-näppäimellä tai manuaalisesti, se palauttaa 86, koska kaikki yli 0,5 pyöristetään ylöspäin seuraavaan kokonaislukuun.

Kokonaislukutietotyypin rajoitukset Excel VBA: ssa

Ylivuotovirhe: Kokonaisluvun tietotyypin pitäisi toimia hyvin, kunhan määritetty arvo on välillä -32768 - 32767. Heti kun se ylittää rajan kummaltakin puolelta, se aiheuttaa sinulle virheen.

Katso esimerkki alla olevasta koodista.

Koodi:

 Ala kokonaisluku_esimerkki4 () Dim k As kokonaisluku k = 40000 MsgBox k End Sub 

Olen määrittänyt muuttujalle “k” arvon 40000.

Koska minulla on täydet tiedot kokonaislukutyypistä, tiedän varmasti, että se ei toimi, koska kokonaislukutietotyyppi ei voi pitää arvoa enempää kuin 32767.

Suoritetaan koodi manuaalisesti tai F5-avaimen avulla ja katsotaan mitä tapahtuu.

Hups !!!

Sain virheen nimellä "Ylivuoto", koska Kokonaisluku-tietotyyppiin mahtuu vain 32767 positiivisille numeroille ja -32768 negatiivisille numeroille.

Type Mismatch Error: Kokonaisdata voi sisältää vain numeerisia arvoja välillä -32768 - 32767. Jos jokin useampi kuin nämä numerot määritetty numero näyttää Ylivuoto-virheen.

Yritän nyt määrittää sille teksti- tai merkkijonoarvoja. Seuraavassa esimerkkikoodissa olen määrittänyt arvon "Hei".

Koodi:

 Ala kokonaisluku_esimerkki4 () Dim k As kokonaisluku k = "Hei" MsgBox k End Sub 

Suoritan tämän koodin suoritusvaihtoehdolla tai manuaalisesti ja näen mitä tapahtuu.

Virhe näytetään tyypin epäsuhdana, koska emme voi määrittää tekstiarvoa muuttujalle "kokonaislukutietotyyppi".


$config[zx-auto] not found$config[zx-overlay] not found