Funkce VBA CLng - Převod výrazů na dlouhé

Tento tutoriál předvede, jak pomocí funkce CLng VBA převést výraz na datový typ s dlouhými čísly.

Funkce CLng

VBA CLng Převést výraz na dlouhý

Funkci VBA CLng lze použít k převodu výrazů na dlouhý datový typ uvnitř kódu VBA.

123456 Sub CLngExample_1 ()MsgBox CLng (12.34) 'Výsledek je: 12MsgBox CLng (12.345) 'Výsledek je: 12MsgBox CLng (-124) 'Výsledek je: -124MsgBox CLng (-12,34) 'Výsledek je: -12End Sub

Zaokrouhlování VBA CLng

Funkce VBA CLng zaokrouhlí na desetinnou část typu čísla nebo výrazu podobného číslu. Ve všech případech se však nezaokrouhluje správně. Když je desetinná část 0,5, vrátí funkce VBA CLng nejbližší sudé celé číslo.

1234567891011 Sub CLngExample_2 ()MsgBox CLng (0,34) 'Výsledek je: 0MsgBox CLng (0,99) 'Výsledek je: 1MsgBox CLng (-124,95) 'Výsledek je: -125MsgBox CLng (1.5) 'Výsledek je: 2MsgBox CLng (2.5) 'Výsledek je: 2End Sub

K očekávané desítkové hodnotě můžeme přidat relativně malé desetinné číslo, abychom změnili chování funkce VBA CLng na očekávanou.

1234567891011 Sub CLngExample_3 ()MsgBox CLng (2.5)„Výsledek je: 2MsgBox CLng (2,5 + 0,001)„Výsledek je: 3MsgBox CLng (14.5)„Výsledek je: 14MsgBox CLng (14,5 + 0,001)„Výsledek je: 15End Sub

Programování VBA | Generátor kódu pracuje pro vás!

VBA CLng Převod strun na dlouhé

Funkci VBA CLng lze použít k převodu řetězců na longy, pokud mají znaky v řetězci význam jako čísla.

123456789101112131415161718 Sub CLngExample_4 ()Dim StrEx jako řetězecStrEx = "112"MsgBox CLng (StrEx)„Výsledek je: 112StrEx = "112,3"MsgBox CLng (StrEx)„Výsledek je: 112 112,3 je zaokrouhlenoStrEx = "11,2"MsgBox CLng (StrEx)„Výsledek je: 112, je ignorovánStrEx = "$ 112"MsgBox CLng (StrEx)„Výsledek je: 112 $ je ignorovánoEnd Sub

Chyba běhu VBA CLng 13 Neshoda typu

Použití funkce VBA CLng se řetězci, které obsahují nečíselné znaky nebo znaky, které nemají význam v číselném kontextu, bude mít za následek chybu Run-Time ‘13’: Neshoda typu.

1234567 Sub CLngExample_5 ()„Níže uvedený kód bude mít za následek chybovou zprávu„CLng nemůže zpracovávat jiné než číselné znakyDim StrEx jako řetězecStrEx = "Ab13"MsgBox CLng (StrEx)End Sub

Přetečení chyby běhu VBA CLng 6

Použití funkce VBA CLng s řetězci, jejichž výsledkem je hodnota menší nebo větší než očekávané celé číslo, bude mít za následek chybu Run-Time ‘6’: Overflow. Celočíselný datový typ v Excelu má očekávanou hodnotu -2 147 483 648 až 2 147 483 647.

1234567 Sub CLngExample_6 ()„Níže uvedený kód bude mít za následek chybovou zprávu'CLng neumí zpracovat nečíselné znakyDim StrEx jako řetězecStrEx = "2147483648"MsgBox CLng (StrEx)End Sub

Už vás nebaví hledat příklady kódu VBA? Zkuste AutoMacro!

Místní nastavení VBA CLng

Funkce VBA CLng má různé chování převádějící řetězce s čárkou nebo tečkou. Používá regionální nastavení operačního systému pro oddělovač desetinných míst a oddělovač číslic.

12345678910111213141516 Sub CLngExample_7 ()Dim StrEx jako řetězecStrEx = "1,9"MsgBox CLng (StrEx)„Pokud to má regionální nastavení, pak jako oddělovač seskupení„Výsledek je: 19„Pokud to má místní nastavení, pak jako oddělovač desetinných míst'Výsledek je: 2 (2, protože 1,9 se zaokrouhlí)StrEx = "1,9"MsgBox CLng (StrEx)„Pokud to má místní nastavení. pak jako oddělovač seskupení„Výsledek je: 19„Pokud to má místní nastavení. jako oddělovač desetinných míst'Výsledek je: 2 (2, protože 1,9 se zaokrouhlí)End Sub

Programování VBA | Generátor kódu pracuje pro vás!

VBA CLng Převod booleů na dlouhé

Funkce VBA CLng dokáže převádět booleovské proměnné na longy. Pokud je vyhodnocený výraz pravdivý, výsledná délka je -1 a pokud je vyhodnocený výraz nepravdivý, výsledná délka je 0.

1234567891011121314 Sub CLngExample_8 ()Dim BoolEx As BooleanBoolEx = PravdaMsgBox CLng (BoolEx)„Výsledek je: -1MsgBox CLng (2 = 2)„Výsledek je: -1BoolEx = FalseMsgBox CLng (BoolEx)'Výsledek je: 0MsgBox CLng (1 = 2)'Výsledek je: 0End Sub

VBA CLng Převod dat na dlouhé

Funkce VBA CLng dokáže převést proměnnou data na dlouhou. Vrácená hodnota je interní číslo používané Excelem pro zaokrouhlení úložiště data. Pokud je toto číslo mimo očekávané dlouhé limity pro VBA, pak se zobrazí chyba Run-Time ‘6’: Overflow.

123456789101112 Sub CLngExample_9 ()Dim DateEx As DateDateEx = #2/3/1940 #MsgBox CLng (DateEx)„Výsledek je: 14644DateEx = #8/7/1964 #MsgBox CLng (DateEx)„Výsledek je: 23596DateEx = #3/7/1934 11:32:04 AM #MsgBox CLng (DateEx)„Výsledek je: 12485End Sub

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave