VBA karakterlánc egész számra - Használja a CINT függvényt az adatkonvertáláshoz

Excel VBA karakterlánc egész számra

A karakterlánc és az egész szám általános adattípus, de gyakran az adatelemzés részeként érdemes átalakítani a karakterlánc adattípus változót egész típusú adattípusra, és ez a VBA „CINT” funkciójának használatával lehetséges.

A CINT funkció szintaxisa

A „CINT” adattípus-konverziós függvényként van besorolva. Ez a függvény a megadott kifejezést egész szám típusúvá alakítja. Amikor azt mondom, hogy „Expression”, akkor annak egy numerikus értéknek kell lennie, amely a VBA Integer adattípusának tartományában van, azaz -32768 és 32767 között.

Most nézze meg a VINT CINT függvényének szintaxisát.

  • A kifejezés az az érték vagy változó, amely az egész szám adattípussá alakítandó értéket tartalmazza.
1. megjegyzés: Éppen akkor, amikor a kifejezés értékének -32768 és 32767 között kell lennie, ellenkező esetben ez „Over Flow Error” -hez vezet, vagyis az értéket az adattípus határán túllépi. 2. megjegyzés: A kifejezésnek numerikus értéknek kell lennie. Ha a kifejezés karaktersorozat vagy szövegérték, akkor a „13. futási hiba: Típus-eltérés” következménye lesz.

Ebben a cikkben bemutatjuk az egész adattípus konvertálását karakterláncból egész számra a „CINT” függvény segítségével.

Példák a CINT funkcióra a VBA-ban

1. példa

Hajtsuk végre az első példát egy törtszám számának egész számra konvertálására.

Kód:

Sub CINT_Example1 () Dim IntegerNumber as string
  • Az „IntegerNumber” változó fenti kódjában az értéket „2564,589” -ként rendeltem hozzá.
  • A következő sorban CINT függvényt alkalmaztam. Tehát a megadott értéket a legközelebbi egész számra konvertálja.

Tehát megkaptuk az eredményt - 2565, és a mellékelt szám 2564,589. Ha a tizedesérték meghaladja a 0,5 értéket, a CINT függvények kerekítik a számot a következő egész számra. Ha a tizedesérték kisebb vagy egyenlő, mint 0,5 CINT, akkor a függvények kerekítve jelennek meg ugyanazon egész számra.

Például nézze meg az alábbi kódot, ahol a szám kisebb, mint 0,5

Kód:

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

Ennek 2564-nek kell adnia az eredményt, nem pedig 2565-nek.

2. példa

Most megpróbálom hozzárendelni azt a számot, amely meghaladja az Egész szám adattípus határértékét.

Kód:

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

A számot „IntegerNumber = 51456.785” értéknek rendeltem, amely meghaladja az Integer adattípus korlátozás határértékét. Most, ha megpróbálom futtatni a kódot, túlcsordulási hibát fog okozni a VBA-ban.

Ha a megadott szám meghaladja az Egész szám adattípust, megjelenik az az egyszerű üzenetmező, amely a következőt mondja ki: „A szám több, mint az egész adat típusának határa”.

Kód:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Message: Ha Err.Number = 6, akkor az MsgBox IntegerNumber & "értéke több, mint az egész határ End Sub

Ez az alábbi üzenetet jeleníti meg, ha a megadott szám kívül esik az Egész szám adattípus tartományán.

3. példa

Most megpróbálom hozzárendelni az értéket, amely nem numerikus.

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

Az értéket „Hello” -nak rendeltem, amely nem numerikus. Ez “Type Mismatch Error” -t okoz.

Ahelyett, hogy bemutatnánk az ilyen hibát, tegyünk egy egyszerű információs üzenetdobozt a felhasználó elé. Az alábbi kód a következő mezőbe fogja tenni: „A megadott kifejezés értéke nem numerikus, ezért nem konvertálható”.

Kód:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = "Hello" On GoTo Message: IntegerResult = CInt (IntegerNumber) Message: Ha Err.Number = 13, akkor a MsgBox IntegerNumber & ": A megadott kifejezés értéke nem numerikus , Tehát nem lehet átalakítani "End Sub

Ekkor megjelenik az alábbi üzenetmező.

Dolgok, amikre emlékezni kell

  • A CINT átalakítja az értéket egy másik adattípusból egész adattípussá.
  • Az egész szám -32768 és 32767 közötti értékeket tarthat, ezek fölött bármi túlcsordulási hibát okoz.
  • Csak a karakterlánc adattípus tartalmaz numerikus adatokat, amelyeket egész számadattá alakítanak át.

Ajánlott cikkek

Ez egy útmutató a VBA karakterlánc egész számához. Itt tárgyaljuk az Excel VBA karakterlánc-egész szám példáit a CINT függvény használatával, gyakorlati példákkal és letölthető excel-sablonnal együtt. Az alábbiakban néhány hasznos cikk található a VBA-val kapcsolatban -

  • A VBA sztringre osztja a tömböt
  • VBA karakterlánc a mai napig
  • VBA húrok összehasonlítása
  • VBA Cserélje ki a karakterláncot

érdekes cikkek...