Textová funkce Excel VBA
Funkce VBA Text se používá pouze ve VBA. Vypadá to, že převádí čísla na text. Ve skutečnosti však převádí čísla do jakéhokoli formátu, jako je Čas, Datum nebo rozsah čísel. K tomu musíme povolit tuto funkci jako třídu.
Pokud uvidíme argument VBA Text, uvidíme, že se skládá z Arg1 a Arg2, jak je ukázáno níže.
- Arg1 - Zde vložíme hodnotu, kterou chceme převést do standardního formátu.
- Arg2 - A zde vybereme formát, ve kterém chceme, aby výstup přicházel jako.
Obě proměnné budou definovány jako String.
Jak používat textovou funkci Excel VBA?
Naučíme se, jak používat funkci VBA Text s několika příklady v Excelu.
Tuto šablonu VBA Text Excel si můžete stáhnout zde - VBA Text Excel TemplateTextová funkce VBA - Příklad č. 1
Ve všech následujících příkladech převedeme text nebo čísla do standardního formátu různými způsoby.
Chcete-li použít funkci textu ve VBA, postupujte podle následujících kroků.
Krok 1: Otevřete modul, který je k dispozici na kartě nabídky Vložit, jak je znázorněno níže.
Krok 2: Do otevřeného modulu VBA napište podprogram VBA Text, jak je ukázáno níže.
Kód:
Sub VBA_Text1 () End Sub
Krok 3: Podle syntaxe textu VBA existují dva argumenty, které budeme potřebovat. Takže definujte první proměnnou jako String, kde dostaneme vstup, jak je ukázáno níže.
Kód:
Sub VBA_Text1 () Dim Input1 jako String End Sub
Krok 4: Nyní definujte další proměnnou, kde získáme výstup. A to by také bylo jako String.
Kód:
Sub VBA_Text1 () Dim Input1 As String Dim Výstup jako String End Sub
Krok 5: Nyní zvažte jakékoli náhodné číslo, které musíme převést do standardního formátu. Může to být číslo, které chceme vidět, nebo to může být libovolné náhodné číslo. Předpokládejme, že pokud vezmeme v úvahu desetinné číslo 0, 123 a uvidíme, co bychom dostali.
Kód:
Sub VBA_Text1 () Dim Input1 jako String Dim Výstup jako String Input1 = 0, 123 End Sub
Krok 6: Nyní v další definované proměnné, která je Výstup, použijeme ji pro vložení textu VBA. Nyní bude tato funkce použita jako funkce listu, jak je ukázáno níže.
Krok 7: Vyberte funkci VBA Text ze seznamu vestavěných funkcí. Nyní podle syntaxe použijeme naši proměnnou a formát, ve kterém to chceme převést jako standardní formát Arg1, ve kterém chceme převést vybrané číslo.
Kód:
Sub VBA_Text1 () Dim Input1 jako String Dim Výstup jako String Input1 = 0, 123 Výstup = WorksheetFunction.Text (End Sub
Krok 8: Do Arg1 píšeme proměnnou Input1, která má naše číslo, které potřebujeme převést, a Arg2 bude ve formátu HH: MM: SS AM / PM.
Kód:
Sub VBA_Text1 () Dim Input1 jako String Dim Výstup jako String Input1 = 0, 123 Výstup = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") End Sub
Krok 9: Nyní použijte MsgBox a podívejte se, co přichází jako výstup.
Kód:
Sub VBA_Text1 () Dim Input1 jako String Dim Výstup jako String Input1 = 0, 123 Výstup = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") MsgBox Output End Sub Sub
Krok 10: Nyní spusťte kód stisknutím klávesy F5 nebo kliknutím na tlačítko Play. Dostaneme schránku se zprávou jako 02:57:07 dop .
Uvidíme se jindy, pokud si vybereme jiné číslo.
Krok 11: Nyní změníme vstupní číslo jako 12345 a změníme formát výstupu v DD-MMM-RRRR, jak je ukázáno níže.
Kód:
Sub VBA_Text2 () Dim Input1 jako String Dim Výstup jako String Input1 = 12345 Output = WorksheetFunction.Text (Input1, "DD-MM-yyyy") MsgBox Output End Sub Sub
Krok 12: Nyní znovu spusťte kód. Dostaneme datum 18. října 1933
Pokud víme přesné číslo, podle kterého můžeme získat přesné datum nebo čas, bude to lepší.
Textová funkce VBA - Příklad č. 2
Existuje další přímý způsob, jak aplikovat text VBA. Za tímto účelem zadáme některá čísla do listu Excel, jak je znázorněno níže.
Chcete-li použít funkci textu ve VBA, postupujte podle následujících kroků.
Krok 1: Do modulu napište níže uvedenou podkategorii VBA Text.
Kód:
Sub VBA_Text3 () End Sub
Krok 2: Vyberte oblast buněk, kde chceme vidět výstup. Uvažujme ty buňky od B1 do B5.
Kód:
Rozsah VBA_Text3 () ("B1: B5"). Hodnota Konec Sub
Krok 3: Nyní vyberte rozsah buněk, které potřebujeme převést. Zde je tento rozsah od buňky A1 do A5 spolu s funkcí listu.
Kód:
Rozsah sub VBA_Text3 () ("B1: B5"). Hodnota = rozsah ("A1: A5"). End Sub
Krok 4: Vyhodnoťte funkci Index spolu s jejím vyhodnocením.
Kód:
Rozsah VBA_Text3 () ("B1: B5"). Hodnota = Rozsah ("A1: A5"). Pracovní list.hodnotit ("INDEX (End Sub
Krok 5: Nyní zvažte funkci Text a vyberte rozsah, který musíme převést. A formát musí být ve více nulech.
Kód:
Rozsah VBA_Text3 () ("B1: B5"). Hodnota = Rozsah ("A1: A5"). Pracovní list.hodnotit ("INDEX (TEXT (A1: A5, " "" 000000 ""), ) ") End Sub
Krok 6: Nyní spusťte kód stisknutím klávesy F5 nebo kliknutím na tlačítko Přehrát. Uvidíme čísla dostupná ve sloupci A, která byla nyní převedena na text s několika nulami, což vede k 6 číslům ve sloupci B.
Nyní se podívejme, co by se stalo, kdybychom změnili výstupní formát znovu z předních nul na formát času.
Krok 7: V Arg2 vložte formát času jako HH: MM: SS a změňte buňku výstupního rozsahu na C1 na C5, aniž byste narušili výstup získaný z předchozího kódu.
Kód:
Rozsah sub VBA_Text3 () ("C1: C5"). Hodnota = rozsah ("C1: C5"). Pracovní list.hodnotit ("INDEX (TEXT (A1: A5, " "hh: mm: ss" ")))" " ) End Sub
Krok 8: Znovu spusťte kód. Uvidíme, sloupec C bude naplněn výchozím formátem času.
Zkusme další experiment.
Krok 9: V tomto změníme rozsah výstupních buněk z D1 na D5, kde uvidíme text VBA. A změňte Arg2 ve formátu Date, který je DD-MMM-YYYY, jak je uvedeno níže.
Kód:
Rozsah VBA_Text3 () ("D1: D5"). Hodnota = Rozsah ("D1: D5"). Pracovní list.hodnotit ("INDEX (TEXT (A1: A5, " "DD-MMM-YYYY" "), )" " ) End Sub
Krok 10: Znovu spusťte kód. Tentokrát uvidíme, datum bude vidět ve sloupci D. A tato data jsou ve formátu, který je ve formátu DD nebo MMM-RRRR.
Takto můžeme změnit čísla v libovolném standardním formátu, který chceme.
Výhody a nevýhody textové funkce Excel VBA
- To se snadno implementuje.
- Můžeme změnit čísla v jakémkoli formátu, který chceme vidět.
- Nemůžeme převést žádný text do požadovaného formátu čísel.
Co si pamatovat
- VBA Text převádí pouze čísla na čísla. Formát čísel však bude standardní formát, jako je datum, čas, kombinace data a času nebo libovolné číselné posloupnosti.
- Pokud aplikujete a měníte čísla do formátu předchozích nul, umístěte apostrof před nuly. Takže tato čísla se převedou na text a objeví se nuly.
- Pokud se pokusíme převést jakýkoli text pomocí VBA Text, dá výstup pouze jako text.
- Abychom získali přesný výstup, musíme znát kombinaci čísel, která poskytne přesný čas a datum, které chceme vidět.
- Po dokončení vždy uložte celý kód ve formátu Macro Enabled, aby nedošlo ke ztrátě kódu.
Doporučené články
Toto je průvodce funkcí VBA Text. Zde diskutujeme o tom, jak používat textovou funkci v Excelu VBA spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -
- Funkce kopírování vložit ve VBA
- Funkce podstrčení Excel
- VBA index mimo rozsah
- Excel ISNUMBER vzorec