Niz VBA v celo število - za pretvorbo podatkov uporabite funkcijo CINT

Excel VBA niz v celo število

String in Integer sta pogosta podatkovna tipa, vendar pogosto kot del naše analize podatkov morda želimo spremeniti spremenljivko vrste string v celoštevilčni podatkovni tip, kar je mogoče z uporabo funkcije "CINT" v VBA.

Sintaksa funkcije CINT

“CINT” je kategoriziran kot funkcija pretvorbe podatkovnega tipa. Ta funkcija pretvori podani izraz v podatkovni tip Integer. Ko rečem »Izraz«, mora biti to številčna vrednost, ki je v območju podatkovnega tipa Integer v VBA, to je med -32768 in 32767.

Zdaj si oglejte sintakso funkcije CINT v VBA.

  • Izraz je vrednost ali spremenljivka, ki vsebuje vrednost, ki jo je treba pretvoriti v celoštevilčni podatkovni tip.
Opomba 1: Takoj, ko prenesete vrednost izraza, mora biti med -32768 na 32767. V nasprotnem primeru bo prišlo do “Over Flow Error”, tj. Dodelitve vrednosti, ki presega mejo podatkovnega tipa. Opomba 2: Izraz mora biti številčna vrednost. Če je izraz vrednost niza ali besedilna vrednost, bo povzročil »Napaka časa izvajanja 13: Vnesite neusklajenost«.

V tem članku vam bomo prikazali pretvorbo celoštevilskega tipa podatkov iz niza v celo število s pomočjo funkcije “CINT”.

Primeri funkcije CINT v VBA

Primer # 1

Izvedimo prvi primer pretvorbe enega števila ulomkov v celoštevilčni podatkovni tip.

Koda:

Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564.589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
  • V zgornji kodi za spremenljivko »IntegerNumber« sem dodal vrednost kot »2564.589«.
  • V naslednji vrstici sem uporabil funkcijo CINT. Tako bo navedeno vrednost pretvoril v najbližje celoštevilsko število.

Tako smo dobili rezultat - 2565, priložena številka pa je 2564.589. Ko je decimalna vrednost večja od 0,5, funkcije CINT zaokrožijo število na naslednje celo število. Ko je decimalna vrednost manjša ali enaka 0,5, funkcije CINT zaokrožijo navzdol na isto celoštevilsko število.

Za primer si oglejte spodnjo kodo, kjer je število manjše od 0,5

Koda:

Pod CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564 - 0.5 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Rezultat bi moral biti 2564, ne 2565.

2. primer

Zdaj bom poskusil dodeliti številko, ki presega omejitev podatkovnega tipa Integer.

Koda:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Številko sem dodelil kot “IntegerNumber = 51456.785”, kar presega omejitev omejitve podatkovnega tipa Integer. Zdaj, če poskusim zagnati kodo, bo v VBA povzročila napako pri prelivanju.

Kadar je navedena številka večja od podatkovnega tipa Integer, lahko prikažemo preprosto okno s sporočilom »Število je več kot omejitev celokupnega tipa podatkov«.

Koda:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Sporočilo: Če Err.Number = 6, potem MsgBox IntegerNumber & "je več kot število IntegerNumber &" je več kot število in več Končaj pod

Tako bo prikazano sporočilo, kot je prikazano spodaj, kadar je navedena številka zunaj obsega podatkovnega tipa Celoštevilčno.

3. primer

Zdaj bom poskusil dodeliti vrednost, ki ni številčna.

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

Vrednost sem določil kot »Hello«, ki ni številčna. To povzroči "Napaka pri neusklajenosti tipa".

Namesto da bi napako prikazali tako, postavimo pred uporabnika preprosto okence z informacijskim sporočilom. Spodnja koda bo postavila okno s sporočilom »Navedena vrednost izraza ni številčna, zato je ni mogoče pretvoriti«.

Koda:

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 Numeric & , Torej ni mogoče pretvoriti "End Sub

To bo prikazalo spodnje polje za sporočila.

Stvari, ki si jih je treba zapomniti

  • CINT pretvori vrednost iz drugega podatkovnega tipa v celoštevilčni podatkovni tip.
  • Celo število lahko vsebuje vrednosti od -32768 do 32767, karkoli nad temi številkami bo povzročilo napako pri prelivanju.
  • Samo podatkovni tip niza vsebuje številske podatke, ki bodo pretvorjeni v celoštevilčni podatkovni tip.

Priporočeni članki

To je bil vodnik za VBA String to Integer. Tu razpravljamo o primerih niza do celotnega števila v Excelu VBA s pomočjo funkcije CINT skupaj s praktičnimi primeri in naložljivo predlogo excel. Spodaj je nekaj koristnih člankov, povezanih z VBA -

  • VBA razdeli niz v matriko
  • VBA niz do danes
  • Primerjava nizov VBA
  • VBA Zamenjaj niz

Zanimive Članki...