Řetězec VBA na celé číslo - pro převod dat použijte funkci CINT

Řetězec VBA Excel na celé číslo

Řetězec a celé číslo jsou běžné datové typy, ale často jako součást naší analýzy dat můžeme chtít převést proměnnou datového typu řetězce na celočíselný datový typ, což je možné pomocí funkce „CINT“ ve VBA.

Syntaxe funkce CINT

„CINT“ je kategorizován jako funkce převodu datového typu. Tato funkce převádí poskytnutý výraz na datový typ Integer. Když řeknu „Výraz“, musí to být číselná hodnota, která je v rozsahu celočíselného datového typu ve VBA, tj. Mezi -32768 až 32767.

Nyní se podívejte na syntaxi funkce CINT ve VBA.

  • Výraz je hodnota nebo proměnná, která obsahuje hodnotu, která má být převedena na celočíselný datový typ.
Poznámka 1: Jakmile předáte hodnotu výrazu, musí být mezi -32768 až 32767. V opačném případě to povede k „Over Flow Error“, tj. K přiřazení hodnoty, která přesahuje limit datového typu. Poznámka 2: Výraz musí být číselná hodnota. Pokud je výrazem hodnota řetězce nebo textová hodnota, způsobí to „Chyba doby běhu 13: Neshoda typu.“

V tomto článku vám ukážeme celočíselný převod datového typu z řetězce na celé číslo pomocí funkce „CINT“.

Příklady funkce CINT ve VBA

Příklad č. 1

Pojďme provést první příklad převodu jednoho čísla zlomku na Integer Data Type.

Kód:

Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564,589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
  • Ve výše uvedeném kódu pro proměnnou „IntegerNumber“ jsem přiřadil hodnotu jako „2564.589“.
  • V dalším řádku jsem použil funkci CINT. Převede tedy poskytnutou hodnotu na nejbližší celé číslo.

Takže jsme dostali výsledek - 2565 a dodané číslo je 2564 589. Pokud je desetinná hodnota větší než 0,5, funkce CINT zaokrouhlí číslo na další celé číslo. Když je desetinná hodnota menší nebo rovna 0,5, funkce CINT se zaokrouhlují dolů na stejné celé číslo.

Například se podívejte na níže uvedený kód, kde je číslo menší než 0,5

Kód:

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

To by mělo dát výsledek jako 2564, ne 2565.

Příklad č. 2

Nyní se pokusím přiřadit číslo, které je větší než limit datového typu Integer.

Kód:

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

Přiřadil jsem číslo jako „IntegerNumber = 51456.785“, což je více než limit limitu datového typu Integer. Nyní, když se pokusím spustit kód, vyvolá chybu přetečení ve VBA.

Kdykoli je zadané číslo větší než celočíselný datový typ, zobrazí se jednoduché okno se zprávou „Číslo je větší než mezní hodnota celočíselného datového typu“.

Kód:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 Při chybě Zpráva GoTo: IntegerResult = CInt (IntegerNumber) Zpráva: Pokud Err.Number = 6, pak MsgBox IntegerNumber & "je více než limit datového typu Integer" End Sub

Tato zpráva se zobrazí níže, kdykoli je zadané číslo mimo rozsah datového typu Integer.

Příklad č. 3

Nyní se pokusím přiřadit hodnotu, která není číselná.

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

Přiřadil jsem hodnotu jako „Hello“, která není číselná. To způsobí „Chyba neshody typu“.

Místo toho, abychom zobrazovali takovou chybu, postavme před uživatele jednoduchou informační zprávu. Níže uvedený kód umístí okno se zprávou „Poskytovaná hodnota výrazu je nečíselná, takže ji nelze převést“.

Kód:

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 & ": Hodnota poskytnutého výrazu je nečíselná , Nelze tedy převést „End Sub

Zobrazí se okno se zprávou níže.

Věci k zapamatování

  • CINT převádí hodnotu z jiného datového typu na celočíselný datový typ.
  • Celé číslo může obsahovat hodnoty od -32768 do 32767, cokoli nad těmito čísly způsobí chybu přetečení.
  • Pouze datový typ řetězce obsahuje číselná data, která budou převedena na celočíselný datový typ.

Doporučené články

Toto byl průvodce pro řetězec VBA na celé číslo. Zde diskutujeme příklady řetězce na celé číslo v aplikaci Excel VBA pomocí funkce CINT spolu s praktickými příklady a stahovatelnou šablonou aplikace Excel. Níže uvádíme několik užitečných článků týkajících se VBA -

  • Rozdělit řetězec VBA do pole
  • Řetězec VBA k dnešnímu dni
  • Porovnání řetězců VBA
  • VBA Nahradit řetězec

Zajímavé články...