Text je funkce listu v aplikaci Excel, ale může být také použit ve VBA při použití vlastnosti range s ní, funkce pro tuto funkci je podobná funkci listu a trvá stejný počet argumentů, což jsou hodnoty, které je třeba převedený a zadaný formát čísla.
Textová funkce Excel VBA
TEXT je funkce dostupná v listu, ale bohužel se nejedná o integrovanou funkci v aplikaci Excel VBA. Abychom měli přístup k této funkci, musíme ve VBA použít objekt třídy třídy listu. Textová funkce v aplikaci Excel převádí hodnotu na zadaný formát čísla.
Jeden z problémů s touto funkcí jako argumenty. Kdykoli použijeme třídu funkcí listu VBA, nebudeme vidět jasnou syntaxi podobně jako v našem listu. Prostě říká „Arg1“ a „Arg2“.

- Arg1 je hodnota, na kterou musíme použít formátování.
- Arg2 je formátování, které musíme použít, a musíme určit formátovací kód.

Příklady textových funkcí VBA v aplikaci Excel
Níže jsou uvedeny příklady textové funkce Excel VBA.
Příklad č. 1
Ukážu vám jednoduchý příklad TEXTU ve VBA Excel. Podívejte se na níže uvedený kód v jazyce Visual Basic.
Kód:
Sub Text_Example1 () Dim FormattingValue jako řetězec Dim FormattingResult jako řetězec FormattingValue = 0,564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub

Nejprve jsem deklaroval dvě proměnné jako řetězec ve VBA.
Dim FormattingValue As String Dim FormattingVýsledek jako řetězec
Pro první proměnnou jsem přidělil číslo formátování, které musíme formátovat.
FormattingValue = 0,564
Nyní pro jinou proměnnou jsem přiřadil funkci TEXT.
FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")
Pokud pozorujete, použil jsem formátování času, tj. „Hh: mm: ss AM / PM.“
Nakonec jsem pro zobrazení výsledku použil schránku zpráv VBA.
MsgBox FormattingResult
Když spustím funkci kódu TEXT, použije časový formát na číslo 0,564 a zobrazí výsledek níže.

Takže jsme dostali čas jako „ 13:32:10 PM “.
Příklad č. 2
Podobně jako v příkladu formátu data jsme v tomto příkladu provedli několik menších změn. Níže je uveden kód.
Kód:
Sub Text_Example2 () Dim FormattingValue jako řetězec Dim FormattingResult jako řetězec FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-RRRR") MsgBox FormattingResult End Sub

Z předchozího kódu jsem změnil hodnotu formátování z 0,565 na 43585 a změnil jsem styl formátování jako „DD-MMM-RRRR.“
Toto použije formátování na číslo 43585 jako datum a výsledek je následující.

Použít formátování na buňky
Viděli jsme jednoduché příklady. Nyní se podívejte na to, jak pracovat s buňkami v listu. V tomto příkladu se podívejte na níže uvedená data.

U všech těchto čísel musíme použít formát času. Tento kód použije formátování.
Kód:
Sub Text_Example3 () Dim k As Integer For k = 1 To 10 Cells (k, 2). Value = WorksheetFunction.Text (Cells (k, 1) .Value, "hh: mm: ss AM / PM") Next k End Sub

Tento kód prochází 10 buňkami a použije formátování níže.

Takto můžeme pomocí funkce VBA TEXT použít na buňky formátování čísel.