Text je funkcia listu v programe Excel, ale dá sa použiť aj vo VBA pri použití vlastnosti range. Funkcia pre túto funkciu je podobná funkcii listu a vyžaduje rovnaký počet argumentov, čo sú hodnoty, ktoré je potrebné uviesť. prevedený a zadaný formát čísla.
Textová funkcia Excel VBA
TEXT je funkcia dostupná v pracovnom hárku, ale bohužiaľ nejde o zabudovanú funkciu v programe Excel VBA. Na prístup k tejto funkcii musíme vo VBA použiť objekt triedy triedy listu. Textová funkcia v programe Excel prevádza hodnotu do určeného číselného formátu.
Jeden z problémov s touto funkciou ako argumenty. Kedykoľvek použijeme funkčnú triedu pracovného listu VBA, nebudeme vidieť jasnú syntax podobne ako v našom pracovnom hárku. Iba hovorí „Arg1“ a „Arg2“.

- Arg1 je hodnota, na ktorú musíme použiť formátovanie.
- Arg2 je formátovanie, ktoré musíme použiť, a musíme určiť formátovací kód.

Príklady textových funkcií VBA v programe Excel
Ďalej uvádzame príklady textovej funkcie Excel VBA.
Príklad č
Ukážem vám jednoduchý príklad TEXTU v programe VBA Excel. Pozrite sa na nasledujúci kód v jazyku Visual Basic.
Kód:
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

Najprv som deklaroval dve premenné ako reťazec vo VBA.
Dim FormattingValue As String Dim FormattingVýsledok ako reťazec
K prvej premennej som priradil číslo formátovania, ktoré potrebujeme naformátovať.
FormattingValue = 0,564
Teraz pre inú premennú som priradil funkciu TEXT.
FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")
Ak pozorujete, použil som formátovanie času, tj. „Hh: mm: ss AM / PM“.
Nakoniec som na zobrazenie výsledku použil schránku správ VBA.
MsgBox FormattingResult
Keď spustím funkciu kódu TEXT, použije časový formát na číslo 0,564 a zobrazí výsledok ako je uvedené nižšie.

Takže sme dostali čas ako „ 13:32:10 “.
Príklad č
Podobne ako v príklade formátu dátumu sme aj v tomto príklade vykonali niekoľko menších zmien. Nižšie je uvedený kód.
Kód:
Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-RRRR") MsgBox FormattingResult End Sub

Z predchádzajúceho kódu som zmenil hodnotu formátovania z 0,565 na 43585 a zmenil som štýl formátovania na „DD-MMM-RRRR.“
Toto použije formátovanie na číslo 43585 ako dátum a výsledok bude nasledovný.

Použiť formátovanie na bunky
Videli sme jednoduché príklady. Teraz sa pozrite na to, ako pracovať s bunkami v hárku. V tomto príklade si pozrite nasledujúce údaje.

Pre všetky tieto čísla musíme použiť formát času. Tento kód použije formátovanie.
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 bude prechádzať cez 10 buniek a použije formátovanie uvedené nižšie.

Takto môžeme pomocou funkcie VBA TEXT aplikovať na bunky formátovanie čísel.