VBA-streng til heltal - Brug CINT-funktionen til datakonvertering

Indholdsfortegnelse

Excel VBA-streng til heltal

Streng og heltal er almindelige datatyper, men ofte som en del af vores dataanalyse vil vi måske konvertere strengdatatypevariabel til heltal datatype, og dette er muligt ved hjælp af "CINT" -funktionen i VBA.

Syntaks for CINT-funktion

“CINT” er kategoriseret som en datatypekonverteringsfunktion. Denne funktion konverterer tilvejebragt udtryk til en heltal datatype. Når jeg siger "Udtryk", skal det være en numerisk værdi, der ligger inden for området Heltalsdatatype i VBA, dvs. mellem -32768 og 32767.

Se nu på syntaksen for CINT-funktionen i VBA.

  • Udtryk er den værdi eller den variabel, der indeholder den værdi, der skal konverteres til heltal datatype.
Bemærk 1: Bare når du sender ekspressionsværdien, skal den være mellem -32768 og 32767. Ellers vil det føre til "Overflowfejl", dvs. tildele den værdi, der er over datatypens grænse. Note 2: Udtryk skal være en numerisk værdi. Hvis udtrykket er strengværdi eller tekstværdi, vil det medføre en "Run Time Error 13: Type Mismatch."

I denne artikel viser vi dig om heltal datatypekonvertering fra streng til et helt tal ved hjælp af funktionen "CINT".

Eksempler på CINT-funktion i VBA

Eksempel nr. 1

Lad os udføre det første eksempel på at konvertere et brøknummer til heltal datatype.

Kode:

Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564.589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
  • I ovenstående kode for variablen “IntegerNumber” har jeg tildelt værdien som “2564.589”.
  • I den næste linje har jeg anvendt en CINT-funktion. Så det vil konvertere den angivne værdi til det nærmeste heltal.

Så vi fik resultatet - 2565, og det leverede nummer er 2564.589. Når decimalværdien er mere end 0,5 CINT-funktioner afrunder tallet op til det næste heltal. Når decimalværdien er mindre end eller lig med 0,5 CINT-funktioner rundes ned til det samme heltal.

For et eksempel se nedenstående kode, hvor antallet er mindre end 0,5

Kode:

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

Dette skal give resultatet som 2564, ikke 2565.

Eksempel 2

Nu vil jeg prøve at tildele nummeret, der er mere end grænsen for datatypen Heltal.

Kode:

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

Jeg har tildelt nummeret som “IntegerNumber = 51456.785”, hvilket er mere end grænsen for Integer-datatypegrænsen. Nu hvis jeg forsøger at køre koden, vil det kaste en overløbsfejl i VBA.

Når det angivne nummer er mere end Integer-datatypen, kan det vise den enkle meddelelsesboks, der siger "Number is More Than the Limit of Integer Data Type".

Kode:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Message: If Err.Number = 6 Then MsgBox IntegerNumber & "is More Than the Limit of the Ingerger Data Type" Afslut sub

Dette viser meddelelsen som nedenfor, når det angivne nummer er uden for området for datatypen Heltal.

Eksempel 3

Nu vil jeg prøve at tildele den værdi, der ikke er numerisk.

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

Jeg har tildelt værdien som “Hej”, som ikke er numerisk. Dette forårsager "Type Mismatch Error".

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.
  • Kun strengdatatype indeholder numeriske data, der konverteres til en heltal datatype.

Anbefalede artikler

Dette har været en guide til VBA-streng til heltal. Her diskuterer vi eksempler på streng til heltal i Excel VBA ved hjælp af CINT-funktionen sammen med praktiske eksempler og Excel-skabelon, der kan downloades. Nedenfor er nogle nyttige artikler relateret til VBA -

  • VBA Split streng i Array
  • VBA-streng til dato
  • VBA-strengesammenligning
  • VBA Erstat streng

Interessante artikler...