Funkcja tekstowa Excel VBA
Funkcja tekstowa VBA jest używana tylko w VBA. Wygląda na to, że konwertuje liczby na tekst. Ale w rzeczywistości konwertuje liczby na dowolny format, np. Czas, Data lub zakres liczb. W tym celu musimy zezwolić na włączenie tej funkcji jako klasy.
Jeśli zobaczymy argument VBA Text, zobaczymy, że składa się on z Arg1 i Arg2, jak pokazano poniżej.
- Arg1 - Tutaj umieścimy wartość, którą chcemy przekonwertować w standardowym formacie.
- Arg2 - I tutaj wybierzemy format, w którym chcemy, aby wynik był wyświetlany jako.
Obie zmienne zostaną zdefiniowane jako Ciąg.
Jak korzystać z funkcji tekstowej Excel VBA?
Nauczymy się korzystać z funkcji VBA Text z kilkoma przykładami w programie Excel.
Możesz pobrać ten szablon Excel VBA Text tutaj - Szablon Excel VBA TextFunkcja tekstowa VBA - przykład nr 1
Będziemy konwertować tekst lub liczby na standardowy format we wszystkich nadchodzących przykładach na różne sposoby.
Wykonaj poniższe kroki, aby użyć funkcji tekstowej w VBA.
Krok 1: Otwórz moduł dostępny na karcie menu Wstaw, jak pokazano poniżej.
Krok 2: W otwartym module VBA napisz podprocedurę tekstu VBA, jak pokazano poniżej.
Kod:
Sub VBA_Text1 () End Sub
Krok 3: Zgodnie ze składnią tekstu VBA potrzebne będą dwa argumenty. Zdefiniuj pierwszą zmienną jako String, w której będziemy podawać dane wejściowe, jak pokazano poniżej.
Kod:
Sub VBA_Text1 () Dim Input1 As String End Sub
Krok 4: Teraz zdefiniuj inną zmienną, w której otrzymamy wynik. I to też będzie jak String.
Kod:
Sub VBA_Text1 () Dim Input1 As String Dim Output As String End Sub
Krok 5: Teraz rozważ dowolną liczbę losową, którą musimy przekonwertować na standardowy format. Może to być liczba, którą chcemy zobaczyć, lub może to być dowolna liczba losowa. Załóżmy, że jeśli weźmiemy pod uwagę liczbę dziesiętną 0, 123 i zobaczymy, co byśmy otrzymali.
Kod:
Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 End Sub
Krok 6: Teraz w innej zdefiniowanej zmiennej, którą jest Output, użyjemy jej do wstawienia tekstu VBA. Teraz ta funkcja będzie używana jako funkcja arkusza roboczego, jak pokazano poniżej.
Krok 7: Wybierz funkcję Tekst VBA z wbudowanej listy funkcji. Teraz zgodnie ze składnią użyjemy naszej zmiennej i formatu, w którym chcemy przekonwertować ten format jako standardowy format Arg1, w którym chcemy przekonwertować wybraną liczbę.
Kod:
Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 Output = WorksheetFunction.Text (End Sub
Krok 8: W Arg1 zapisujemy zmienną Input1, która ma nasz numer, który musimy przekonwertować, a Arg2 będzie miał format HH: MM: SS AM / PM.
Kod:
Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") End Sub
Krok 9: Teraz użyj MsgBox, aby zobaczyć, co przychodzi jako wynik.
Kod:
Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") MsgBox Output End Sub Sub
Krok 10: Teraz uruchom kod, naciskając klawisz F5 lub klikając przycisk Play. Otrzymamy okno komunikatu z komunikatem jako 02:57:07 .
Zobaczymy się innym razem, jeśli wybierzemy inny numer.
Krok 11: Teraz zmieńmy liczbę wejściową na 12345 i zmienimy format wyjścia w DD-MMM-RRRR, jak pokazano poniżej.
Kod:
Sub VBA_Text2 () Dim Input1 As String Dim Output As String Input1 = 12345 Output = WorksheetFunction.Text (Input1, „DD-MM-rrrr”) MsgBox Output End Sub Sub
Krok 12: Teraz ponownie uruchom kod. Datę otrzymamy 18 października 1933 r
Jeśli znamy dokładną liczbę, według której możemy uzyskać dokładną datę lub godzinę, to będzie lepiej.
Funkcja tekstowa VBA - przykład 2
Istnieje inny bezpośredni sposób zastosowania tekstu VBA. W tym celu wprowadzimy niektóre liczby w arkuszu programu Excel, jak pokazano poniżej.
Wykonaj poniższe kroki, aby użyć funkcji tekstowej w VBA.
Krok 1: W module napisz podkategorię tekstu VBA, jak pokazano poniżej.
Kod:
Sub VBA_Text3 () End Sub
Krok 2: Wybierz zakres komórek, w których chcemy zobaczyć wynik. Rozważmy te komórki od B1 do B5.
Kod:
Sub VBA_Text3 () Zakres („B1: B5”). Wartość Koniec Sub
Krok 3: Teraz wybierz zakres komórek, które musimy przekonwertować. Tutaj zakres ten wynosi od komórki A1 do A5 wraz z funkcją arkusza roboczego.
Kod:
Sub VBA_Text3 () Zakres („B1: B5”). Wartość = Zakres („A1: A5”). Arkusz roboczy. Napis końcowy
Krok 4: Wybierz funkcję indeksu wraz z jej oceną.
Kod:
Sub VBA_Text3 () Zakres („B1: B5”). Wartość = Zakres („A1: A5”). Arkusz roboczy Ocena („INDEX (End Sub
Krok 5: Teraz rozważ funkcję Tekst i wybierz zakres, który musimy przekonwertować. A format musi składać się z wielu zer.
Kod:
Sub VBA_Text3 () Zakres („B1: B5”). Wartość = Zakres („A1: A5”). Arkusz roboczy Oceń („INDEKS (TEKST (A1: A5, „ ”000000” „), )”) Koniec Sub
Krok 6: Teraz uruchom kod, naciskając klawisz F5 lub klikając przycisk Play. Zobaczymy liczby dostępne w kolumnie A, teraz przekonwertowane na tekst z wieloma zerami, co prowadzi do 6 cyfr w kolumnie B.
Zobaczmy teraz, co by się stało, gdybyśmy ponownie zmienili format wyjściowy z początkowych zer na format czasu.
Krok 7: W Arg2 ustaw format czasu jako GG: MM: SS i zmień komórkę zakresu wyjściowego na C1 na C5, nie zakłócając wyjścia uzyskanego z poprzedniego kodu.
Kod:
Sub VBA_Text3 () Zakres („C1: C5”). Wartość = Zakres („C1: C5”). Arkusz roboczy Oceń („INDEKS (TEKST (A1: A5;„ hh: mm: ss ””), ) ” ) Napis końcowy
Krok 8: Ponownie uruchom kod. Zobaczymy, kolumna C zostanie wypełniona domyślnym formatem czasu.
Spróbujmy innego eksperymentu.
Krok 9: W tym zmienimy zakres komórek wyjściowych z D1 na D5, gdzie zobaczymy tekst VBA. I zmień Arg2 w formacie daty, który jest DD-MMM-RRRR, jak pokazano poniżej.
Kod:
Sub VBA_Text3 () Zakres („D1: D5”). Wartość = Zakres („D1: D5”). Arkusz roboczy Oceń („INDEKS (TEKST (A1: A5, „ ”DD-MMM-RRRR„ ”), )„ ) Napis końcowy
Krok 10: Ponownie uruchom kod. Tym razem zobaczymy, data będzie widoczna w kolumnie D. I te daty są w formacie lub DD-MMM-RRRR.
W ten sposób możemy zmienić liczby w dowolnym standardowym formacie, jaki chcemy.
Plusy i minusy funkcji tekstowej Excel VBA
- Jest to łatwe do wdrożenia.
- Możemy zmienić liczby w dowolnym formacie, który chcemy zobaczyć.
- Nie możemy przekonwertować żadnego tekstu na wymagany format liczb.
Rzeczy do zapamiętania
- Tekst VBA konwertuje tylko liczby na liczby. Ale format liczb będzie standardowymi formatami, takimi jak data, godzina, kombinacja daty i godziny lub dowolna sekwencja cyfr.
- Jeśli stosujesz i zmieniasz liczby na format poprzedzających zer, umieść apostrof przed zerami. Tak więc liczby zostaną zamienione na tekst i pojawią się Zera.
- Jeśli spróbujemy przekonwertować dowolny tekst za pomocą VBA Text, to da wynik tylko jako tekst.
- Aby uzyskać dokładny wynik, musimy znać kombinację liczb, która zapewni dokładną godzinę i datę, którą chcemy zobaczyć.
- Po zakończeniu zawsze zapisz pełny kod w formacie z włączoną obsługą makr, aby kod nie został utracony.
Polecane artykuły
Jest to przewodnik po funkcji tekstowej VBA. Tutaj omawiamy, jak korzystać z funkcji tekstowej w programie Excel VBA wraz z praktycznymi przykładami i szablonem programu Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -
- Funkcja kopiuj wklej w VBA
- Funkcja Excel podciągu
- Indeks dolny VBA poza zakresem
- Formuła Excel ISNUMBER