VBA string täisarvuni - kasutage andmete teisendamiseks funktsiooni CINT

Lang L: none (table-of-contents)

Exceli VBA string täisarvuni

String ja täisarv on tavalised andmetüübid, kuid sageli võime meie andmete analüüsi osana soovida teisendada stringi andmetüübi muutuja täisarvu andmetüübiks ja see on võimalik, kasutades VBA-s funktsiooni “CINT”.

Funktsiooni CINT süntaks

“CINT” on liigitatud andmetüübi teisendamise funktsiooniks. See funktsioon teisendab pakutud avaldise täisarvu andmetüübiks. Kui ütlen „avaldis”, peab see olema arvuline väärtus, mis jääb VBA andmetüübi täisarvu vahemikku, st vahemikku -32768 kuni 32767.

Nüüd vaadake funktsiooni CINT süntaksit VBA-s.

  • Avaldis on väärtus või muutuja, mis sisaldab väärtust, mis teisendatakse täisarvu andmetüübiks.
Märkus 1: Just siis, kui väljendi väärtus edastatakse vahemikus -32768 kuni 32767. Vastasel juhul toob see kaasa „Over Flow Error“ ehk väärtuse omistamise, mis ületab andmetüübi piiri. Märkus 2: avaldis peab olema arvuline väärtus. Kui avaldis on stringi või teksti väärtus, põhjustab see „Run Time Error 13: Type Mismatch”.

Selles artiklis näitame teile täisarvu andmetüübi teisendamist stringist täisarvuks, kasutades funktsiooni “CINT”.

Näited CINT-funktsioonist VBA-s

Näide 1

Tehkem esimene näide ühe murdarvu teisendamisest täisarvu tüübiks.

Kood:

Alam CINT_Example1 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = 2564,589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
  • Muutuja „IntegerNumber“ ülaltoodud koodis olen määranud väärtuseks „2564,589“.
  • Järgmisel real olen rakendanud CINT-funktsiooni. Nii teisendab see antud väärtuse lähima täisarvuni.

Niisiis, saime tulemuse - 2565 ja kaasasolev number on 2564,589. Kui kümnendarv on suurem kui 0,5, annavad CINT funktsioonid numbri ülespoole järgmise täisarvuni. Kui kümnendarv on väiksem või võrdne 0,5 CINT-ga, ümardatakse funktsioonid täisarvuni.

Näiteks vaadake allpool olevat koodi, kus number on väiksem kui 0,5

Kood:

Alam CINT_Example1 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = 2564 - 0,5 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

See peaks andma tulemuseks 2564, mitte 2565.

Näide 2

Nüüd proovin määrata numbri, mis ületab täisarvu andmetüübi piiri.

Kood:

Alam CINT_Example2 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = 51456,785 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Olen määranud numbri väärtuseks „IntegerNumber = 51456.785”, mis ületab andmetüübi täisarvu piirmäära. Kui proovin nüüd koodi käivitada, viskab see VBA-s ülevooluvea.

Kui sisestatud number on suurem kui täisarvu andmetüüp, saab näidata lihtsat sõnumikasti, kus öeldakse: "Number on rohkem kui täisandmete tüübi piir".

Kood:

Sub CINT_Example2 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = 51456.785 On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Message: Kui Err.Number = 6, siis MsgBox IntegerNumber & "on rohkem kui täisarvu tüüp" Lõpeta alam

See kuvab alltoodud sõnumi alati, kui esitatud number jääb täisarvu andmetüübist välja.

Näide # 3

Nüüd proovin määrata väärtuse, mis pole arvuline.

Alam CINT_Example2 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = "Hello" IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Olen määranud väärtuseks “Tere”, mis pole arvuline. See põhjustab tüübi mittevastavuse vea.

Instead of showing the error like this, let’s put a simple information message box in front of the user. The below code will put the message box saying “The Provided Expression Value is Non-Numeric, So cannot be converted”.

Code:

Sub CINT_Example2() Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = "Hello" On Error GoTo Message: IntegerResult = CInt(IntegerNumber) Message: If Err.Number = 13 Then MsgBox IntegerNumber & " : The Provided Expression Value is Non-Numeric, So cannot be converted" End Sub

This will show the message box below.

Things to Remember

  • CINT converts value from another data type to an integer data type.
  • Integer can hold values from -32768 to 32767 anything above these numbers will cause an overflow error.
  • Ainult stringi andmetüüp sisaldab arvandmeid, mis teisendatakse täisarvu andmetüübiks.

Soovitatavad artiklid

See on olnud juhend VBA stringiks täisarvuni. Siin käsitleme Exceli VBA stringist täisarvuni näiteid, kasutades funktsiooni CINT, koos praktiliste näidete ja allalaaditava Exceli malliga. Allpool on mõned kasulikud artiklid, mis on seotud VBA-ga -

  • VBA jagas stringi massiiviks
  • VBA string tänaseni
  • VBA stringide võrdlus
  • VBA Asenda string

Huvitavad Artiklid...