Excel VBA -merkkijono kokonaislukuun
Merkkijono ja kokonaisluku ovat yleisiä tietotyyppejä, mutta usein osana data-analyysiamme saatamme haluta muuntaa merkkijonotyypin muuttujan kokonaislukutietotyypiksi, ja tämä on mahdollista käyttämällä VBA: n ”CINT” -toimintoa.

CINT-toiminnon syntaksi
“CINT” on luokiteltu tietotyypin muunnosfunktioksi. Tämä toiminto muuntaa toimitetun lausekkeen kokonaislukutietotyypiksi. Kun sanon "lauseke", sen on oltava numeerinen arvo, joka on VBA: n kokonaislukutyyppialueella, eli välillä -32768 - 32767.
Katsokaa nyt VBA: n CINT-funktion syntaksia.

- Lauseke on arvo tai muuttuja, joka sisältää muunnettavan luvun kokonaislukutyypiksi.
Tässä artikkelissa näytämme sinulle kokonaislukutietotyypin muuntamisen merkkijonosta kokonaislukuun funktion "CINT" avulla.
Esimerkkejä CINT-toiminnasta VBA: ssa
Esimerkki 1
Suoritetaan ensimmäinen esimerkki yhden murtoluvun muuntamisesta kokonaislukutyypiksi.
Koodi:
Al CINT_Example1 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = 2564,589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
- Edellä mainitussa muuttujan ”IntegerNumber” koodissa olen määrittänyt arvon arvoksi ”2564,589”.
- Seuraavalla rivillä olen käyttänyt CINT-toimintoa. Joten se muuntaa annetun arvon lähimpään kokonaislukuun.

Joten saimme tuloksen - 2565, ja toimitettu numero on 2564,589. Kun desimaaliarvo on yli 0,5, CINT-funktiot pyöristävät numeron seuraavaan kokonaislukuun. Kun desimaaliarvo on pienempi tai yhtä suuri kuin 0,5 CINT-funktiota, pyöristetään alas samaan kokonaislukuun.
Katso esimerkki alla olevasta koodista, jossa luku on alle 0,5
Koodi:
Al CINT_Example1 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = 2564 - 0,5 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
Tämän pitäisi antaa tulos 2564, ei 2565.

Esimerkki 2
Yritän nyt määrittää numeron, joka on yli kokonaislukutyypin rajan.
Koodi:
Al CINT_Example2 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = 51456.785 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
Olen määrittänyt numeroksi "IntegerNumber = 51456.785", joka on enemmän kuin kokonaislukutietorajoituksen raja. Jos yritän nyt suorittaa koodin, se heittää ylivuotovirheen VBA: ssa.

Aina kun annettu numero on suurempi kuin kokonaislukutietotyyppi, näytetään yksinkertainen sanomaruutu, jossa lukee "Numero on enemmän kuin kokonaislukutietojen tyyppi".
Koodi:
Sub CINT_Example2 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = 51456.785 On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Message: Jos Virh.Number = 6, MsgBox IntegerNumber & "on enemmän kuin kokonaisluvun tyyppi" End Sub
Tämä näyttää alla olevan kaltaisen viestin aina, kun annettu numero on kokonaislukutyyppialueen ulkopuolella.

Esimerkki 3
Yritän nyt määrittää arvon, joka ei ole numeerinen.
Al CINT_Example2 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = "Hello" IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
Olen määrittänyt arvon "Hei", joka ei ole numeerinen. Tämä aiheuttaa tyypin ristiriitavirheen.

Sen sijaan, että näytetään tällainen virhe, laitetaan yksinkertainen tietoviestiruutu käyttäjän eteen. Alla oleva koodi laittaa viestiruudun, jossa sanotaan "Annettu lauseke on ei-numeerinen, joten sitä ei voi muuntaa".
Koodi:
Ala CINT_Example2 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = "Hello" On GoTo Message: IntegerResult = CInt (IntegerNumber) Message: Jos Virh.Number = 13 Sitten MsgBox IntegerNumber & ": Annettu lausekearvo ei ole numero , Joten ei voi muuntaa "End Sub
Tämä näyttää alla olevan viestiruudun.

Muistettavaa
- CINT muuntaa arvon toisesta tietotyypistä kokonaislukutietotyypiksi.
- Kokonaisluku voi pitää arvoja välillä -32768 - 32767, mikä tahansa näiden numeroiden yläpuolella aiheuttaa ylivuotovirheen.
- Vain merkkijonotietotyyppi sisältää numeerista tietoa, joka muunnetaan kokonaislukutietotyypiksi.
Suositellut artikkelit
Tämä on opas VBA-merkkijonolle kokonaislukuun. Tässä keskustellaan esimerkeistä merkkijonosta kokonaislukuun Excel VBA: ssa käyttämällä CINT-toimintoa, käytännön esimerkkejä ja ladattavaa Excel-mallia. Alla on joitain hyödyllisiä artikkeleita, jotka liittyvät VBA: han -
- VBA jakaa merkkijonon taulukkoon
- VBA-kieli tähän mennessä
- VBA-merkkijonojen vertailu
- VBA Vaihda merkkijono