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

Цей підручник продемонструє, як використовувати функцію тексту у VBA.

Функція Text використовується на робочому аркуші Excel для повернення частини рядка у визначеному форматі. Функція Text не є функцією VBA, але її можна використовувати у VBA, посилаючись на об’єкт Функція аркуша.

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

Тому синтаксис у VBA буде таким:

= WorksheetFunction.Text (Arg1, Arg2)

де Arg1 - вихідний рядок, а Arg2 - формат рядка, який ми хочемо повернути.

1234567 Підтест WSFunction ()Dim dte As StringDim strD як рядокdte = "08.05.2021"strD = Робочий лист Функція.Текст (dte, "мммм")MsgBox strDEnd Sub

У наведеному вище прикладі рядкова змінна dte зберігає дату. Потім функція Text повертає місячну частину дати.

Форматування чисел за допомогою текстової функції

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

1234567 ПідформатCurrency ()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, ми можемо просто використовувати функцію форматування для досягнення тих самих результатів.

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

Аналогічно ми можемо використовувати функцію форматування для форматування частин рядка дати.

1234567 Sub TestFormatFunction ()Dim dte As StringDim strD як рядокdte = "08.05.2021"strD = Формат (dte, "мммм")MsgBox strDEnd Sub

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

wave wave wave wave wave