Tento tutoriál ukáže, ako použiť funkciu CInt VBA na konverziu výrazu na celočíselný údajový typ.
Funkcia CInt
VBA CInt Konvertuje výraz na celé číslo
Funkciu VBA CInt je možné použiť na prevod výrazov na celočíselný údajový typ v kóde VBA. Výsledné číslo sa zaokrúhli na celé číslo.
123456 | Sub CIntExample_1 ()MsgBox CInt (12.34) 'Výsledok je: 12MsgBox CInt (12.345) 'Výsledok je: 12MsgBox CInt (-124) 'Výsledok je: -124MsgBox CInt (-12.34) 'Výsledok je: -12Koniec pod |
Zaokrúhľovanie VBA CInt
Funkcia VBA CInt zaokrúhli desatinnú časť typu čísla alebo výrazu podobného číslu. Vo všetkých prípadoch sa však nezaokrúhľuje správne. Keď je desatinná časť 0,5, funkcia VBA CInt vráti najbližšie párne celé číslo.
12345678910111213141516 | Sub CIntExample_2 ()MsgBox CInt (0,34)'Výsledok je: 0MsgBox CInt (0,99)„Výsledok je: 1MsgBox CInt (-124,95)„Výsledok je: -125MsgBox CInt (1.5)„Výsledok je: 2MsgBox CInt (2.5)„Výsledok je: 2Koniec pod |
K našej očakávanej desatinnej hodnote môžeme pridať relatívne malé desatinné číslo, aby sme zmenili správanie funkcie VBA Cint na očakávanú.
1234567891011 | Sub CIntExample_3 ()MsgBox CInt (2.5)„Výsledok je: 2MsgBox CInt (2,5 + 0,001)Výsledok je: 3MsgBox CInt (14.5)Výsledok je 14MsgBox CInt (14,5 + 0,001)Výsledok je 15Koniec pod |
Programovanie VBA | Generátor kódu pracuje za vás!
VBA CInt Konvertovanie reťazcov na celé čísla
Funkciu VBA CInt je možné použiť na prevod reťazcov na celé čísla, ak majú znaky v reťazci význam ako čísla.
123456789101112131415161718 | Sub CIntExample_4 ()Dim StrEx ako reťazecStrEx = "112"MsgBox CInt (StrEx)„Výsledok je: 112StrEx = "112,3"MsgBox CInt (StrEx)„Výsledok je: 112 -> 112,3 je zaokrúhlenýStrEx = "11,2"MsgBox CInt (StrEx)„Výsledok je: 112 ->, sa ignorujeStrEx = "112 dolárov"MsgBox CInt (StrEx)„Výsledok je: 112 -> $ sa ignorujeKoniec pod |
VBA CInt Chyba pri spustení 13 Neshoda typu
Použitie funkcie VBA Cint so reťazcami, ktoré obsahujú nečíselné znaky alebo znaky, ktoré v číselnom kontexte nemajú význam, bude mať za následok chybu Run-Time ‘13’: Neshoda typu.
1234567 | Sub CIntExample_5 ()„Nasledujúci kód spôsobí chybovú správu„CInt nemôže spracovať iné ako číselné znakyDim StrEx ako reťazecStrEx = "Ab13"MsgBox CInt (StrEx)Koniec pod |
Chyba pretečenia 6 chyby VBA CInt
Použitie funkcie VBA Cint so reťazcami, ktorých výsledkom je hodnota menšia alebo väčšia ako očakávané celé číslo, bude mať za následok chybu run-time ‘6’: Overflow. Celočíselný typ údajov v programe Excel má očakávanú hodnotu -32768 až 32767.
1234567 | Sub CIntExample_6 ()„Nasledujúci kód spôsobí chybovú správu„CInt nemôže spracovať iné ako číselné znakyDim StrEx ako reťazecStrEx = "1234567"MsgBox CInt (StrEx)Koniec pod |
Ste unavení z hľadania príkladov kódu VBA? Skúste AutoMacro!
Regionálne nastavenia VBA CInt
Funkcia VBA CInt má rôzne reťazce na konverziu správania s čiarkou alebo bodkou. Na oddelenie desatinných miest a oddeľovač číslic používa regionálne nastavenia operačného systému.
12345678910111213141516 | Sub CIntExample_7 ()Dim StrEx ako reťazecStrEx = "1,9"MsgBox CInt (StrEx)„Ak to majú regionálne nastavenia, potom ako oddeľovač zoskupeníVýsledok je: 19„Ak to majú regionálne nastavenia, potom ako oddeľovač desatinných miest„Výsledok je: 2 (2, pretože 1,9 sa zaokrúhli)StrEx = "1,9"MsgBox CInt (StrEx)„Ak to majú regionálne nastavenia. potom ako oddeľovač zoskupeníVýsledok je: 19„Ak to majú regionálne nastavenia. potom ako oddeľovač desatinných miest„Výsledok je: 2 (2, pretože 1,9 sa zaokrúhli)Koniec pod |
Programovanie VBA | Generátor kódu pracuje za vás!
VBA CInt Konvertovanie booleovských čísel na celé čísla
Funkcia VBA Cint dokáže prevádzať booleovské premenné na celé čísla. Ak je vyhodnotený výraz pravdivý, výsledné celé číslo je -1 a ak je hodnotený výraz nepravdivé, výsledné celé číslo je 0.
12345678910 | Sub CIntExample_8 ()Dim BoolEx ako booleovskýBoolEx = PravdaMsgBox CInt (BoolEx) 'Výsledok je: -1MsgBox CInt (2 = 2) 'Výsledok je: -1BoolEx = nepravdaMsgBox CInt (BoolEx) 'Výsledok je: 0MsgBox CInt (1 = 2) 'Výsledok je: 0Koniec pod |
VBA CInt Konvertovanie dátumov na celé čísla
Funkcia VBA Cint dokáže previesť premennú dátumu na celé číslo. Vrátená hodnota je interné číslo používané programom Excel na zaokrúhlenie úložiska dátumu. Ak je toto číslo mimo očakávaných celočíselných limitov pre VBA, zobrazí sa chyba run-time ‘6’: Overflow.
123456789 | Sub CIntExample_9 ()Dim DateEx As DateDateEx = #2/3/1940 #MsgBox CInt (DateEx)„Výsledok je: 14644DateEx = #8/7/1964 #MsgBox CInt (DateEx)„Výsledok je: 23596Koniec pod |