Textová funkce VBA

Tento tutoriál předvede, jak používat textovou funkci ve VBA.

Funkce Text se používá v listu aplikace Excel k vrácení části řetězce v zadaném formátu. Funkce Text není funkcí VBA, ale lze ji ve VBA použít odkazem na objekt Funkce listu.

WorksheetFunction.Text

Syntaxe ve VBA by tedy byla následující:

= WorksheetFunction.Text (Arg1, Arg2)

kde Arg1 je původní řetězec a Arg2 je formát řetězce, který chceme vrátit.

1234567 Dílčí testWSFunction ()Dim dte As StringDim strD jako řetězecdte = "08/05/2021"strD = WorksheetFunction.Text (dte, "mmmm")MsgBox strDEnd Sub

Ve výše uvedeném příkladu řetězcová proměnná dte ukládá datum. Funkce Text poté vrátí měsíční část data.

Formátování čísel pomocí textové funkce

K formátování čísel v našem kódu VBA můžeme použít textovou funkci.

1234567 Dílčí formát Měna ()Dim strNum jako řetězecDim strFormat jako řetězecstrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$#, ## 0,00")MsgBox strFormatEnd Sub

Řetězec vrácený ve výše uvedeném příkladu by byl 75 896,13 $.

Dalšími příklady formátování čísel pomocí textové funkce jsou:

12345678 = WorksheetFunction.Text (75896.125, "0")toto se vrátí: "75896"= WorksheetFunction.Text (75896.125, "0,0")toto se vrátí: "75896,1"= WorksheetFunction.Text (75896.125, "#, ## 0")toto se vrátí: "75,896"

Excel však má vestavěnou funkci VBA, kterou můžeme použít místo funkce Text, pokud chceme ve VBA formátovat data a čísla. Toto je známé jako funkce Format.

Funkce formátu VBA

Vezmeme -li výše uvedený příklad, namísto použití WorksheetFunction.Text, můžeme k dosažení stejných výsledků použít pouze funkci Format.

12345678 = Formát (75896.125, "0")toto se vrátí: "75896"= Formát (75896.125, "0,0")toto se vrátí: "75896,1"= Formát (75896.125, "#, ## 0")toto se vrátí: "75,896"

Podobně můžeme použít funkci formátování k formátování datových částí řetězce.

1234567 Dílčí testovací funkce ()Dim dte As StringDim strD jako řetězecdte = "08/05/2021"strD = Formát (dte, "mmmm")MsgBox strDEnd Sub

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

wave wave wave wave wave