VBA virkne līdz veselam skaitlim - datu konvertēšanai izmantojiet funkciju CINT

Excel VBA virkne līdz veselam skaitlim

Virkne un veselais skaitlis ir izplatīti datu tipi, taču, bieži vien kā daļu no mūsu datu analīzes, mēs varam vēlēties pārveidot virknes datu tipa mainīgo par vesela skaitļa datu tipu, un tas ir iespējams, izmantojot VBA funkciju “CINT”.

Funkcijas CINT sintakse

“CINT” ir klasificēta kā datu veida pārveidošanas funkcija. Šī funkcija pārveido sniegto izteiksmi par Integer datu tipu. Kad es saku “izteiksme”, tai ir jābūt skaitliskai vērtībai, kas ir VBA Integer datu veida diapazonā, ti, no -32768 līdz 32767.

Tagad apskatiet CBA funkcijas sintaksi VBA.

  • Izteiksme ir vērtība vai mainīgais, kas satur vērtību, kas jāpārvērš par Integer Data Type.
1. piezīme. Tieši tad, kad izteiksmes vērtībai jānokļūst no -32768 līdz 32767. Pretējā gadījumā tas novedīs pie “Pārplūdes kļūda”, ti, piešķirot vērtību, kas pārsniedz datu veida robežu. 2. piezīme: izteiksmei jābūt skaitliskai vērtībai. Ja izteiksme ir virknes vai teksta vērtība, tas izraisīs “Run Time Error 13: Type Mismatch”.

Šajā rakstā mēs parādīsim par vesela skaitļa datu veida pārveidošanu no virknes uz veselu skaitli, izmantojot funkciju “CINT”.

CINT funkcijas piemēri VBA

1. piemērs

Veiksim pirmo vienas frakcijas skaitļa konvertēšanas piemēru Integer Data Type.

Kods:

Apakšdokuments CINT_Example1 () Dim IntegerNumber kā virkne Dim IntegerResult kā Integer IntegerNumber = 2564,589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
  • Iepriekš norādītajā mainīgā “IntegerNumber” kodā vērtību esmu piešķīrusi kā “2564,589”.
  • Nākamajā rindā esmu lietojis CINT funkciju. Tātad tā konvertēs norādīto vērtību uz tuvāko veselu skaitli.

Tātad, mēs saņēmām rezultātu - 2565, un piegādātais numurs ir 2564,589. Ja decimālvērtība ir lielāka par 0,5, CINT funkcijas noapaļo skaitli līdz nākamajam skaitlim. Ja decimālvērtība ir mazāka vai vienāda ar 0,5 CINT, funkcijas noapaļo uz leju līdz vienādam skaitlim.

Piemēram, aplūkojiet zemāk redzamo kodu, kur skaitlis ir mazāks par 0,5

Kods:

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

Tam vajadzētu dot rezultātu 2564, nevis 2565.

2. piemērs

Tagad es mēģināšu piešķirt numuru, kas pārsniedz datu veida Integer robežu.

Kods:

Apakšdokuments CINT_Example2 () Dim IntegerNumber kā virkne Dim IntegerResult As Integer IntegerNumber = 51456.785 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Es piešķiru numuru kā “IntegerNumber = 51456.785”, kas pārsniedz datu veida ierobežojuma Integer robežu. Tagad, ja mēģināšu palaist kodu, tas VBA radīs pārpildes kļūdu.

Ikreiz, kad norādītais skaitlis ir lielāks par Integer datu tipu, tiek parādīts vienkāršs ziņojumu lodziņš ar uzrakstu “Skaitlis ir vairāk nekā veselā datu veida ierobežojums”.

Kods:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Message: Ja Err.Number = 6, tad MsgBox IntegerNumber & "ir vairāk nekā intega ierobežojums" Beigu apakšnodaļa

Tas parādīs šādu ziņojumu, kā norādīts tālāk, ja norādītais numurs ir ārpus Integer datu veida diapazona.

3. piemērs

Tagad es mēģināšu piešķirt vērtību, kas nav skaitliska.

Apakšdokuments CINT_Example2 () Dim IntegerNumber kā virkne Dim IntegerResult As Integer IntegerNumber = "Labdien" IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Es piešķiru vērtību “Sveiki”, kas nav skaitliska. Tas izraisa “Type Mismatch Error”.

Tā vietā, lai parādītu šādu kļūdu, ievietosim lietotāja priekšā vienkāršu informācijas ziņojumu lodziņu. Zemāk esošais kods ievietos ziņojumu lodziņu ar tekstu “Norādītā izteiksmes vērtība nav skaitliska, tāpēc to nevar pārveidot”.

Kods:

Sub CINT_Example2 () Dim IntegerNumber kā virkne Dim IntegerResult As Integer IntegerNumber = "Labdien" On GoTo ziņojuma kļūda: IntegerResult = CInt (IntegerNumber) ziņojums: Ja Err.Number = 13, tad MsgBox IntegerNumber & ": sniegtā izteiksmes vērtība nav skaitlis , Tātad nevar pārveidot "End Sub

Tas parādīs zemāk esošo ziņojumu lodziņu.

Atceramās lietas

  • CINT pārveido vērtību no cita datu veida par vesela skaitļa datu tipu.
  • Vesels skaitlis var turēt vērtības no -32768 līdz 32767, kaut kas virs šiem skaitļiem radīs pārpildes kļūdu.
  • Tikai virknes datu tipā ir skaitliski dati, kas tiks pārveidoti par veselu skaitļu datu tipu.

Ieteiktie raksti

Šis ir bijis ceļvedis VBA virknei līdz veselam skaitlim. Šeit mēs apspriežam virknes veselam skaitlim piemērus programmā Excel VBA, izmantojot funkciju CINT, kā arī praktiskus piemērus un lejupielādējamu Excel veidni. Zemāk ir daži noderīgi raksti, kas saistīti ar VBA -

  • VBA sadalīja virkni masīvā
  • VBA stīgas līdz šim
  • VBA stīgu salīdzinājums
  • VBA aizstāt virkni

Interesanti raksti...