Tento tutoriál predvedie, ako použiť funkciu CLng VBA na prevod výrazu na údajový typ s dlhými číslami.
Funkcia CLng
VBA CLng Previesť výraz na dlhý
Funkciu VBA CLng je možné použiť na prevod výrazov na dlhé dátové typy v kóde VBA.
123456 | Sub CLngExample_1 ()MsgBox CLng (12.34) 'Výsledok je: 12MsgBox CLng (12.345) 'Výsledok je: 12MsgBox CLng (-124) 'Výsledok je: -124MsgBox CLng (-12.34) 'Výsledok je: -12Koniec pod |
Zaokrúhľovanie VBA CLng
Funkcia VBA CLng 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 CLng vráti najbližšie párne celé číslo.
1234567891011 | Sub CLngExample_2 ()MsgBox CLng (0.34) 'Výsledok je: 0MsgBox CLng (0,99) 'Výsledok je: 1MsgBox CLng (-124,95) 'Výsledok je: -125MsgBox CLng (1.5) 'Výsledok je: 2MsgBox CLng (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 CLng na očakávanú.
1234567891011 | Sub CLngExample_3 ()MsgBox CLng (2.5)„Výsledok je: 2MsgBox CLng (2,5 + 0,001)Výsledok je: 3MsgBox CLng (14.5)Výsledok je 14MsgBox CLng (14,5 + 0,001)Výsledok je 15Koniec pod |
Programovanie VBA | Generátor kódu pracuje za vás!
VBA CLng Konvertovanie strún na dlhé
Funkciu VBA CLng je možné použiť na prevod reťazcov na dlhé, ak majú znaky v reťazci význam ako čísla.
123456789101112131415161718 | Sub CLngExample_4 ()Dim StrEx ako reťazecStrEx = "112"MsgBox CLng (StrEx)„Výsledok je: 112StrEx = "112,3"MsgBox CLng (StrEx)„Výsledok je: 112 112,3 je zaokrúhlenýStrEx = "11,2"MsgBox CLng (StrEx)„Výsledok je: 112, sa ignorujeStrEx = "112 dolárov"MsgBox CLng (StrEx)„Výsledok je: 112 $ sa ignorujeKoniec pod |
Chyba spustenia VBA CLng 13, nezhoda typu
Použitie funkcie VBA CLng 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 CLngExample_5 ()„Nasledujúci kód spôsobí chybovú správu„CLng nemôže spracovať iné ako číselné znakyDim StrEx ako reťazecStrEx = "Ab13"MsgBox CLng (StrEx)Koniec pod |
Chyba pretečenia 6 chyby spustenia VBA CLng
Použitie funkcie VBA CLng 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 -2 147 483 648 až 2 147 483 647.
1234567 | Sub CLngExample_6 ()„Nasledujúci kód spôsobí chybovú správu„CLng nezvláda číselné znakyDim StrEx ako reťazecStrEx = "2147483648"MsgBox CLng (StrEx)Koniec pod |
Ste unavení z hľadania príkladov kódu VBA? Skúste AutoMacro!
Regionálne nastavenia VBA CLng
Funkcia VBA CLng 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 CLngExample_7 ()Dim StrEx ako reťazecStrEx = "1,9"MsgBox CLng (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 CLng (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 CLng Konvertovanie booleov na dlhé
Funkcia VBA CLng dokáže prevádzať booleovské premenné na dlhé. Ak je vyhodnotený výraz pravdivý, výsledná dĺžka je -1 a ak je vyhodnotený výraz nepravdivý, výsledná dĺžka je 0.
1234567891011121314 | Sub CLngExample_8 ()Dim BoolEx ako booleovskýBoolEx = PravdaMsgBox CLng (BoolEx)'Výsledok je: -1MsgBox CLng (2 = 2)'Výsledok je: -1BoolEx = nepravdaMsgBox CLng (BoolEx)'Výsledok je: 0MsgBox CLng (1 = 2)'Výsledok je: 0Koniec pod |
VBA CLng Konvertovanie dátumov na dlhé
Funkcia VBA CLng dokáže prevádzať premennú dátumu na dlhé. 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 dlhých limitov pre VBA, zobrazí sa chyba Run-Time ‘6’: Overflow.
123456789101112 | Sub CLngExample_9 ()Dim DateEx As DateDateEx = #2/3/1940 #MsgBox CLng (DateEx)„Výsledok je: 14644DateEx = #8/7/1964 #MsgBox CLng (DateEx)„Výsledok je: 23596DateEx = #3/7/1934 11:32:04 AM #MsgBox CLng (DateEx)„Výsledok je: 12485Koniec pod |