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

В этом руководстве будет показано, как использовать текстовую функцию в VBA.

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

WorksheetFunction.Text

Таким образом, синтаксис VBA будет следующим:

= WorksheetFunction.Text (Arg1, Arg2)

где Arg1 - это исходная строка, а Arg2 - это формат возвращаемой строки.

1234567 Sub TestWSFunction ()Dim dte As StringDim strD As Stringdte = "05.08.2021"strD = WorksheetFunction.Text (dte, «мммм»)MsgBox strDКонец подписки

В приведенном выше примере строковая переменная dte хранит дату. Затем функция Text возвращает часть даты, относящуюся к месяцу.

Форматирование чисел с помощью текстовой функции

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

1234567 Дополнительный формат: валюта ()Dim strNum как строкаDim strFormat As StringstrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$ #, ## 0.00")MsgBox strFormatКонец подписки

Строка, возвращенная в приведенном выше примере, будет составлять 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 мы можем просто использовать функцию форматирования для достижения тех же результатов.

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 = "05.08.2021"strD = Формат (dte, "мммм")MsgBox strDКонец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave