VBA текст - Как да използвам текстовата функция във VBA Excel? (с примери)

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

Функция за текст на Excel VBA

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

Един от проблемите с тази функция като аргументи. Винаги, когато използваме функционалния клас на VBA работен лист, не виждаме ясния синтаксис, подобно на работния лист. Просто пише „Arg1“ и „Arg2“.

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

Примери за 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

Първо декларирах две променливи като низ във 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 и ще покаже резултата, както е показано по-долу.

И така, получихме времето като „ 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

От предишния код промених стойността за форматиране от 0,565 на 43585 и промених стила на форматиране като „DD-MMM-YYYY“.

Това ще приложи форматирането към числото 43585 като дата и резултатът е както следва.

Прилагане на форматиране към клетки

Видяхме прости примери. Сега вижте как да работите с клетки в работен лист. За този пример вижте данните по-долу.

За всички тези числа трябва да приложим формата на времето. Този код ще приложи форматирането.

Код:

Sub Text_Example3 () Dim k Като цяло за k = 1 до 10 клетки (k, 2). Стойност = Работен лист Функция. Текст (Клетки (k, 1). Стойност, "hh: mm: ss AM / PM") Следващ k Край Под

Този код ще премине през 10 клетки и ще приложи форматирането по-долу.

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

Интересни статии...