„Excel VBA“ eilutė iki skaičiaus
Stygos ir sveikasis skaičius yra bendri duomenų tipai, tačiau dažnai kaip duomenų analizės dalį, mes galime norėti konvertuoti eilutės duomenų tipo kintamąjį į sveiko skaičiaus duomenų tipą ir tai įmanoma naudojant VBA funkciją „CINT“.

CINT funkcijos sintaksė
„CINT“ klasifikuojama kaip duomenų tipo konvertavimo funkcija. Ši funkcija paverčia pateiktą išraišką į sveikąjį duomenų tipą. Kai sakau „Išraiška“, tai turi būti skaitinė reikšmė, kuri yra VBA sveikojo duomenų tipo diapazone, ty nuo -32768 iki 32767.
Dabar pažvelkite į CINT funkcijos sintaksę VBA.

- Išraiška yra vertė arba kintamasis, kuriame yra vertė, kuri turi būti konvertuota į sveikojo duomenų tipą.
Šiame straipsnyje mes parodysime apie sveikojo skaičiaus duomenų tipo konvertavimą iš eilutės į sveiką skaičių naudojant funkciją „CINT“.
CINT funkcijos pavyzdžiai VBA
1 pavyzdys
Atlikime pirmąjį vienos trupmenos skaičiaus konvertavimo į sveikųjų duomenų tipą pavyzdį.
Kodas:
Sub CINT_Example1 () Dim IntegerNumber as string
- Pirmiau pateiktame kintamojo „IntegerNumber“ kode aš priskyriau reikšmę „2564,589“.
- Kitoje eilutėje pritaikiau CINT funkciją. Taigi ji pavers pateiktą vertę į artimiausią sveikąjį skaičių.

Taigi, mes gavome rezultatą - 2565, o pateiktas skaičius yra 2564,589. Kai dešimtainė reikšmė yra didesnė nei 0,5, CINT funkcijos suapvalina skaičių iki kito sveiko skaičiaus. Kai dešimtainė reikšmė yra mažesnė arba lygi 0,5 CINT funkcijų, suapvalinkite žemyn iki to paties sveikojo skaičiaus.
Pavyzdžiui, pažvelkite į žemiau esantį kodą, kuriame skaičius yra mažesnis nei 0,5
Kodas:
CINT_Example1 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = 2564 - 0,5 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
Tai turėtų suteikti rezultatą 2564, o ne 2565.

2 pavyzdys
Dabar pabandysiu priskirti skaičių, kuris viršija sveikojo duomenų tipo ribą.
Kodas:
Sub CINT_Example2 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = 51456.785 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
Priskyriau numerį „IntegerNumber = 51456.785“, kuris viršija sveikojo duomenų tipo apribojimo limitą. Dabar, jei bandysiu paleisti kodą, jis sukels perpildymo klaidą VBA.

Kai nurodytas skaičius yra didesnis nei sveikųjų duomenų tipas, galima parodyti paprastą pranešimų laukelį, kuriame sakoma „Skaičius yra daugiau nei sveikųjų duomenų tipo limitas“.
Kodas:
Sub CINT_Example2 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = 51456.785 On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Message: Jei Err.Number = 6, tada MsgBox IntegerNumber & "yra daugiau nei bendro skaičiaus tipas". Pabaigos sub
Tai parodys pranešimą, kaip nurodyta toliau, kai nurodytas skaičius nepatenka į sveikojo duomenų tipo diapazoną.

3 pavyzdys
Dabar pabandysiu priskirti reikšmę, kuri nėra skaitinė.
CINT_Example2 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = "Hello" IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
Aš priskyriau vertę „Sveiki“, kuri nėra skaitinė. Tai sukelia „Tipo neatitikimo klaidą“.

Užuot parodę tokią klaidą, prieš vartotoją įdėkime paprastą informacinių pranešimų laukelį. Žemiau pateiktame kode bus įdėtas pranešimo laukelis, kuriame sakoma „Pateikta išraiškos reikšmė nėra skaitmeninė, todėl jos negalima konvertuoti“.
Kodas:
Sub CINT_Example2 () Dim IntegerNumber as String Dim IntegerResult As Integer IntegerNumber = "Hello" On GoTo Message on Error: IntegerResult = CInt (IntegerNumber) Message: if Err.Number = 13 Then MsgBox IntegerNumber & ": Pateikta išraiškos reikšmė yra ne skaičius , Taigi negalima konvertuoti
Tai parodys toliau pateiktą pranešimų laukelį.

Ką reikia atsiminti
- CINT konvertuoja kito duomenų tipo vertę į sveiko skaičiaus duomenų tipą.
- Sveikasis skaičius gali laikyti reikšmes nuo -32768 iki 32767, jei kas nors virš šių skaičių sukels perpildymo klaidą.
- Tik eilutės duomenų tipe yra skaitiniai duomenys, kurie bus konvertuoti į sveikojo skaičiaus duomenų tipą.
Rekomenduojami straipsniai
Tai buvo VBA styginių skaičiaus vadovas. Čia aptarsime „Excel VBA“ eilutės iki sveiko skaičiaus pavyzdžius, naudodami funkciją CINT, kartu su praktiniais pavyzdžiais ir atsisiunčiamu „Excel“ šablonu. Žemiau yra keletas naudingų straipsnių, susijusių su VBA -
- VBA padalijo stygą į masyvą
- VBA styginiai iki šiol
- VBA styginių palyginimas
- VBA Pakeiskite eilutę