Text VBA Ako používať textové funkcie v Excel VBA s príkladmi?

Obsah:

Anonim

Textová funkcia Excel VBA

Funkcia VBA Text sa používa iba vo VBA. Zdá sa, že prevádza čísla na text. V skutočnosti však prevádza čísla do ľubovoľného formátu, napríklad času, dátumu alebo rozsahu čísel. Z tohto dôvodu musíme povoliť túto funkciu ako triedu.

Ak uvidíme argument VBA Text, uvidíme, že pozostáva z Arg1 a Arg2, ako je uvedené nižšie.

  • Arg1 - Tu vložíme hodnotu, ktorú chceme previesť do štandardného formátu.
  • Arg2 - A tu vyberieme formát, v ktorom chceme vidieť výstup prichádzajúci ako.

Obe premenné budú definované ako String.

Ako používať funkciu Excel VBA Text?

Naučíme sa, ako používať funkciu VBA Text, s niekoľkými vynikajúcimi príkladmi.

Túto šablónu VBA Text Excel si môžete stiahnuť tu - VBA Text Excel Template

Textová funkcia VBA - príklad č. 1

Vo všetkých nasledujúcich príkladoch prevedieme text alebo čísla do štandardného formátu rôznymi spôsobmi.

Ak chcete použiť funkciu textu vo VBA, postupujte podľa nasledujúcich krokov.

Krok 1: Otvorte modul, ktorý je k dispozícii na karte ponuky Vložiť, ako je to znázornené nižšie.

Krok 2: Do otvoreného modulu VBA napíšte podprogram VBA Text, ako je to znázornené nižšie.

kód:

 Sub VBA_Text1 () End Sub 

Krok 3: Podľa syntaxe VBA Text sú potrebné dva argumenty. Takže definujte prvú premennú ako String, kde poskytneme vstup, ako je uvedené nižšie.

kód:

 Sub VBA_Text1 () Dim Input1 As String End Sub 

Krok 4: Teraz definujte ďalšiu premennú, kde dostaneme výstup. A to by bolo tiež ako String.

kód:

 Sub VBA_Text1 () Dim Input1 As String Dim Výstup ako String End Sub 

Krok 5: Teraz zvážte akékoľvek náhodné číslo, ktoré musíme previesť do štandardného formátu. Môže to byť číslo, ktoré chceme vidieť, alebo to môže byť ľubovoľné náhodné číslo. Predpokladajme, že ak vezmeme do úvahy desatinné číslo 0, 123 a uvidíme, čo by sme dostali.

kód:

 Sub VBA_Text1 () Dim Input1 ako String Dim Výstup ako String Input1 = 0, 123 End Sub 

Krok 6: Teraz v inej definovanej premennej, ktorá je výstup, ju použijeme na vloženie textu VBA. Táto funkcia sa teraz použije ako funkcia pracovného hárka, ako je to znázornené nižšie.

Krok 7: Vyberte funkciu VBA Text zo zabudovaného zoznamu funkcií. Teraz podľa syntaxe použijeme našu premennú a formát, v ktorom ich chceme previesť ako štandardný formát Arg1, v ktorom chceme toto vybrané číslo previesť.

kód:

 Sub VBA_Text1 () Dim Input1 ako String Dim Výstup ako String Input1 = 0, 123 Výstup = WorksheetFunction.Text (End Sub 

Krok 8: Do Arg1 píšeme premennú Input1, ktorá má naše číslo, ktoré potrebujeme previesť, a Arg2 bude mať formát HH: MM: SS AM / PM.

kód:

 Sub VBA_Text1 () Dim Input1 ako String Dim Výstup ako String Input1 = 0, 123 Výstup = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") End Sub 

Krok 9: Teraz použite MsgBox, aby ste videli, čo príde ako výstup.

kód:

 Sub VBA_Text1 () Dim Input1 ako String Dim Výstup ako String Input1 = 0, 123 Výstup = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") MsgBox Output End Sub Sub 

Krok 10: Teraz spustite kód stlačením klávesu F5 alebo kliknutím na tlačidlo Prehrať. Dostaneme schránku so správou ako 02:57:07 AM .

Uvidíme sa inokedy, ak si vyberieme iné číslo.

Krok 11: Teraz zmeňme vstupné číslo na 12345 a zmeňme formát výstupu v DD-MMM-RRRR, ako je to znázornené nižšie.

kód:

 Sub VBA_Text2 () Dim Input1 ako String Dim Výstup ako String Input1 = 12345 Output = WorksheetFunction.Text (Input1, "DD-MM-yyyy") MsgBox Output End Sub Sub 

Krok 12: Teraz znova spustite kód. Dostaneme dátum 18. októbra 1933

Ak vieme presné číslo, podľa ktorého môžeme získať presný dátum alebo čas, bude to lepšie.

Textová funkcia VBA - príklad # 2

Existuje ďalší priamy spôsob použitia textu VBA. Za týmto účelom zadáme niektoré čísla do tabuľky excelu, ako je to znázornené nižšie.

Ak chcete použiť funkciu textu vo VBA, postupujte podľa nasledujúcich krokov.

Krok 1: Do modulu napíšte podkategóriu VBA Text, ako je to znázornené nižšie.

kód:

 Sub VBA_Text3 () End Sub 

Krok 2: Vyberte rozsah buniek, kde chceme vidieť výstup. Zoberme si tieto bunky od B1 do B5.

kód:

 Rozsah sub VBA_Text3 () ("B1: B5"). Hodnota Koniec sub 

Krok 3: Teraz vyberte rozsah buniek, ktoré musíme previesť. Tu je tento rozsah od bunky A1 po A5 spolu s funkciou pracovného hárka.

kód:

 Rozsah pod VBA_Text3 () ("B1: B5"). Hodnota = rozsah ("A1: A5"). End Sub 

Krok 4: Vyberte funkciu Index spolu s jej vyhodnotením.

kód:

 Rozsah sub VBA_Text3 () ("B1: B5"). Hodnota = rozsah ("A1: A5"). Pracovný list.hodnotiť ("INDEX (End Sub 

Krok 5: Teraz zvážte funkciu Text a vyberte rozsah, ktorý musíme previesť. A formát musí byť vo viacerých nulách.

kód:

 Rozsah pod VBA_Text3 () ("B1: B5"). Hodnota = rozsah ("A1: A5"). Pracovný list.hodnotiť ("INDEX (TEXT (A1: A5, " "" 000000 ""))))) Koniec Sub 

Krok 6: Teraz spustite kód stlačením klávesu F5 alebo kliknutím na tlačidlo Prehrať. Uvidíme, že čísla dostupné v stĺpci A sú teraz prevedené na text s niekoľkými nulami, čo vedie k 6-miestnemu číslu v stĺpci B.

Teraz sa pozrime, čo by sa stalo, keby sme znova zmenili výstupný formát z počiatočných núl na formát času.

Krok 7: Do Arg2 vložte formát času ako HH: MM: SS a zmeňte bunku výstupného rozsahu na C1 na C5 bez toho, aby ste rušili výstup získaný z predchádzajúceho kódu.

kód:

 Rozsah pod VBA_Text3 () ("C1: C5"). Hodnota = rozsah ("C1: C5"). Pracovný list.hodnotiť ("INDEX (TEXT (A1: A5, " "hh: mm: ss" ")))" " ) Koniec pod 

Krok 8: Opäť spustite kód. Uvidíme, stĺpec C sa naplní predvoleným formátom času.

Skúsme ďalší experiment.

Krok 9: V tomto zmeníme rozsah výstupných buniek z D1 na D5, kde uvidíme text VBA. A zmeňte Arg2 vo formáte Dátum, ktorý je DD-MMM-RRRR, ako je to znázornené nižšie.

kód:

 Rozsah pod VBA_Text3 () ("D1: D5"). Hodnota = rozsah ("D1: D5"). Pracovný list.hodnotiť ("INDEX (TEXT (A1: A5, " "DD-MMM-RRRR" "), )" " ) Koniec pod 

Krok 10: Opäť spustite kód. Tentoraz sa uvidíme, dátum sa zobrazí v stĺpci D. A tieto dátumy sú vo formáte, ktorý je vo formáte DD-MMM-YYYY.

Takto môžeme zmeniť čísla v ľubovoľnom štandardnom formáte, aký chceme.

Výhody a nevýhody funkcie Excel VBA Text

  • Toto sa ľahko implementuje.
  • Čísla môžeme zmeniť v akomkoľvek formáte, ktorý chceme vidieť.
  • Nemôžeme prevádzať žiadny text do požadovaného formátu čísel.

Čo je potrebné pamätať

  • VBA Text prevádza iba čísla na čísla. Formát čísiel však budú štandardné formáty, ako napríklad dátum, čas, kombinácia dátumu a času alebo ľubovoľná číslica.
  • Ak aplikujete a meníte čísla do formátu predchádzajúcich núl, umiestnite apostrof pred nuly. Takto sa čísla prevedú na text a objavia sa nuly.
  • Ak sa pokúsime previesť akýkoľvek text pomocou textu VBA, dá výstup iba ako text.
  • Aby sme získali presný výstup, musíme poznať kombináciu čísel, ktorá poskytne presný čas a dátum, ktorý chceme vidieť.
  • Po dokončení vždy uložte celý kód vo formáte Macro Enabled, aby sa kód nestratil.

Odporúčané články

Toto je sprievodca funkciou VBA Text. Tu diskutujeme o tom, ako používať funkciu Text vo vynikajúcej VBA spolu s praktickými príkladmi a stiahnuteľnou šablónou Excel. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Kopírovať funkciu vloženia vo VBA
  2. Funkcia podčiarknutia Excel
  3. Dolný index VBA je mimo rozsahu
  4. Excel ISNUMBER vzorec