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

Sisällysluettelo

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 määrittämistä näille muuttujille. Meillä on useita tietotyyppejä, ja jokaisella tietotyypillä on siihen omat edut ja haitat. 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 murto-osia. 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ä.

Esimerkki 1

Kun ilmoitamme muuttujan, on määritettävä sille tietotyyppi ja kokonaisluku yhdestä, 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:

Aliluku kokonaisluku_esimerkki1 () Dim k As kokonaisluku k = 500 Loppuosa

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 F5. Sitten se näyttää myös arvon -500 viestiruudussa.

Esimerkki 3

Kuten kerroin VBA: lle, kokonaislukutietotyyppi voi sisältää vain kokonaislukuja, ei murtolukuja, kuten 25.655 tai 47.145.

Yritän kuitenkin määrittää murto-osan VBA-kokonaislukutietotyypille. Katso esimerkiksi alla oleva koodi.

Koodi:

Alaluku kokonaisluku_esimerkki3 () Dim k As kokonaisluku k = 85.456 MsgBox k End Sub

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

  • Se on palauttanut tuloksen 85: ksi, vaikka olen määrittänyt murto-osan arvon. Tämä johtuu siitä, että VBA pyöristää murtoluvut lähimpään kokonaislukuun.
  • Kaikki murtoluvut, jotka ovat alle 0,5, pyöristetään alaspäin lähimpään kokonaislukuun. Esimerkiksi 2.456 = 2, 45.475 = 45.
  • Kaikki murtoluvut, jotka ovat suurempia kuin 0,5, 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 muu kuin 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. Kun se ylittää rajan kummaltakin puolelta, se aiheuttaa sinulle virheen.

Katso esimerkiksi alla oleva koodi.

Koodi:

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

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

Koska tiedän varmasti kokonaislukutyypin, tiedän, 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. Oletetaan, että mikä tahansa numero, joka on osoitettu enemmän kuin nämä numerot, näyttää ylivuotovirheen.

Yritän nyt määrittää sille teksti- tai merkkijonoarvoja. Alla olevassa 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 suoritusvaihtoehdon kautta tai manuaalisesti ja näen mitä tapahtuu.

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

Mielenkiintoisia artikkeleita...