Text VBA - Ako používať textovú funkciu vo VBA Excel? (s príkladmi)

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.

Zaujímavé články...