Tento tutoriál předvede, jak používat funkci CDec VBA.
Funkce CDec
VBA CDec Převod výrazů na desetinné
Funkce VBA CDec převádí výraz na desítkový datový typ. Desetinný datový typ je ve skutečnosti podtyp variantního datového typu.
12345678910 | Sub CDecExample_1 ()MsgBox CDec (12.34000001)`` Výsledek je: 12.34000001MsgBox CDec (10000000000012.3)`` Výsledek je: 10000000000012.3MsgBox CDec (-0,0000000000000001)„Výsledek je: -0,0000000000000001MsgBox CDec (-12,34)„Výsledek je: -12,34End Sub |
VBA CDec Převod řetězců na desetinná místa
Funkci VBA CDec lze použít k převodu řetězců na desetinná místa, pokud mají znaky v řetězci význam jako čísla.
12345678910111213141516171819 | Sub CDecExample_2 ()Dim StrEx jako řetězecStrEx = "112.112112"MsgBox CDec (StrEx)„Výsledek je: 112.112112StrEx = "112,3"MsgBox CDec (StrEx)„Výsledek je: 112.3StrEx = "11,2"MsgBox CDec (StrEx)„Výsledek je: 112, je ignorovánStrEx = "112,07 $"MsgBox CDec (StrEx)'Výsledek je: 112,07 $ je ignorovánoEnd Sub |
Programování VBA | Generátor kódu pracuje pro vás!
Chyba běhu VBA CDec 13 Neshoda typu
Použití funkce VBA CDec s řetězci, které obsahují nečíselné znaky nebo znaky, které nemají v číselném kontextu význam, bude mít za následek chybu Run-Time ‘13’: Neshoda typu.
1234567 | Sub CDecExample_3 ()„Níže uvedený kód bude mít za následek chybovou zprávu„CDec nedokáže zpracovat nečíselné znakyDim StrEx jako řetězecStrEx = "Ab13"MsgBox CDec (StrEx)End Sub |
Přetečení chyby běhu VBA CDec 6
Použití funkce VBA CDec s řetězci, jejichž výsledkem je hodnota menší nebo větší než očekávané desetinné číslo, bude mít za následek chybu Run-Time ‘6’: Overflow. Desetinné číslo by mělo být mezi -7,9 E28 a +7,9 E28.
1234567 | Sub CDecExample_4 ()„Níže uvedený kód bude mít za následek chybovou zprávu„CDec zvládne čísla mezi -7,9 E28 a +7,9 E28Dim StrEx jako variantaStrEx = 8E+30MsgBox CDec (StrEx)End Sub |
Místní nastavení VBA CDec
Funkce VBA CDec 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 CDecExample_5 ()Dim StrEx jako řetězecStrEx = "1,0000009"MsgBox CDec (StrEx)„Pokud to má místní 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: 1.0000009StrEx = "1,0000009"MsgBox CDec (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: 1.0000009End Sub |