Текстът е функция на работен лист в Excel, но може да се използва и в VBA, докато се използва свойството range с него, функцията за тази функция е подобна на функцията на работния лист и приема същия брой аргументи, които са стойностите, които трябва да бъдат преобразуван и зададен числов формат.
Функция за текст на Excel VBA
TEXT е функцията, достъпна с работен лист, но за съжаление, тя не е вградена функция в Excel VBA. За да осъществим достъп до тази функция, трябва да използваме обекта на клас на функция на работния лист във VBA. Текстовата функция в Excel преобразува стойност в определен числов формат.
Един от проблемите с тази функция като аргументи. Винаги, когато използваме функционалния клас на VBA работен лист, не виждаме ясния синтаксис, подобно на работния лист. Просто пише „Arg1“ и „Arg2“.
![](https://cdn.know-base.net/4387569/vba_text_how_to_use_text_function_in_vba_excel_with_examples_2.png.webp)
- Arg1 е стойността, към която трябва да приложим форматирането.
- Arg2 е форматирането, което трябва да приложим, и трябва да посочим кода за форматиране.
![](https://cdn.know-base.net/4387569/vba_text_how_to_use_text_function_in_vba_excel_with_examples.png.webp)
Примери за VBA Текстова функция в Excel
По-долу са дадени примерите на Excel VBA Text Function.
Пример # 1
Позволете ми да ви покажа прост пример за ТЕКСТ в VBA Excel. Погледнете кода по-долу в Visual Basic.
Код:
Sub Text_Example1 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 0.564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub
![](https://cdn.know-base.net/4387569/vba_text_how_to_use_text_function_in_vba_excel_with_examples_3.png.webp)
Първо декларирах две променливи като низ във VBA.
Dim FormattingValue As String Dim FormattingVesue As String
За първата променлива съм задал номера за форматиране, който трябва да форматираме.
FormattingValue = 0,564
Сега за друга променлива съм задал функцията TEXT.
FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")
Ако забележите, аз съм приложил форматирането на времето, т.е. „hh: mm: ss AM / PM.“
След това накрая приложих поле за съобщение на VBA, за да покажа резултата.
Резултат за форматиране на MsgBox
Когато стартирам функцията TEXT на кода, ще приложи формат на времето към числото 0.564 и ще покаже резултата, както е показано по-долу.
![](https://cdn.know-base.net/4387569/vba_text_how_to_use_text_function_in_vba_excel_with_examples.gif)
И така, получихме времето като „ 13:32:10 PM “.
Пример # 2
Подобно на примера за формат на датата, ние направихме някои незначителни промени в този пример. По-долу е кодът.
Код:
Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult End Sub
![](https://cdn.know-base.net/4387569/vba_text_how_to_use_text_function_in_vba_excel_with_examples_4.png.webp)
От предишния код промених стойността за форматиране от 0,565 на 43585 и промених стила на форматиране като „DD-MMM-YYYY“.
Това ще приложи форматирането към числото 43585 като дата и резултатът е както следва.
![](https://cdn.know-base.net/4387569/vba_text_how_to_use_text_function_in_vba_excel_with_examples_5.png.webp)
Прилагане на форматиране към клетки
Видяхме прости примери. Сега вижте как да работите с клетки в работен лист. За този пример вижте данните по-долу.
![](https://cdn.know-base.net/4387569/vba_text_how_to_use_text_function_in_vba_excel_with_examples_6.png.webp)
За всички тези числа трябва да приложим формата на времето. Този код ще приложи форматирането.
Код:
Sub Text_Example3 () Dim k Като цяло за k = 1 до 10 клетки (k, 2). Стойност = Работен лист Функция. Текст (Клетки (k, 1). Стойност, "hh: mm: ss AM / PM") Следващ k Край Под
![](https://cdn.know-base.net/4387569/vba_text_how_to_use_text_function_in_vba_excel_with_examples_7.png.webp)
Този код ще премине през 10 клетки и ще приложи форматирането по-долу.
![](https://cdn.know-base.net/4387569/vba_text_how_to_use_text_function_in_vba_excel_with_examples_2.gif)
По този начин, като използваме функцията VBA TEXT, можем да приложим форматиране на числа към клетките.