Текстова функция VBA

Този урок ще покаже как да използвате текстовата функция във VBA.

Функцията Text се използва в работен лист на Excel за връщане на част от низ в определен формат. Функцията Text не е VBA функция, но може да се използва във VBA, като се позовава на обекта Функция на работен лист.

Работен лист Функция.Текст

Следователно синтаксисът във VBA ще бъде следният:

= WorksheetFunction.Text (Arg1, Arg2)

където Arg1 е оригиналният низ и Arg2 е форматът на низа, който искаме да бъде върнат.

1234567 Подтест WSFunction ()Dim dte As StringDim strD As Stringdte = "08/05/2021"strD = Работен лист Функция.Текст (dte, "mmmm")MsgBox strDEnd Sub

В горния пример низовата променлива dte съхранява дата. След това функцията Text връща месечната част от датата.

Форматиране на числа с текстовата функция

Можем да използваме текстовата функция, за да форматираме числата в нашия VBA код.

1234567 Подформат: Валута ()Dim strNum As StringЗатъмнете strFormat As StringstrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$#, ## 0.00")MsgBox strFormatEnd Sub

Низът, върнат в горния пример, ще бъде $ 75 896.13.

Други примери за форматиране на числа с помощта на текстовата функция са:

12345678 = WorksheetFunction.Text (75896.125, "0")това ще се върне: "75896"= WorksheetFunction.Text (75896.125, "0.0")това ще се върне: "75896,1"= WorksheetFunction.Text (75896.125, "#, ## 0")това ще се върне: "75,896"

Excel обаче има вградена функция VBA, която можем да използваме вместо функцията Text, ако искаме да форматираме дати и числа в рамките на VBA. Това е известно като функцията за форматиране.

Функцията за формат VBA

Като вземем горния пример, вместо да използваме WorksheetFunction.Text, можем просто да използваме функцията Format, за да постигнем същите резултати.

12345678 = Формат (75896.125, "0")това ще се върне: "75896"= Формат (75896.125, "0.0")това ще се върне: "75896,1"= Формат (75896.125, "#, ## 0")това ще се върне: "75,896"

По подобен начин можем да използваме функцията за форматиране, за да форматираме части от датата на низ.

1234567 Sub TestFormatFunction ()Dim dte As StringDim strD As Stringdte = "08/05/2021"strD = Формат (dte, "mmmm")MsgBox strDEnd Sub

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave