VBA Text - Wie Verwenden von Textfunktion in Excel VBA mit Beispielen?

Inhaltsverzeichnis:

Anonim

Excel VBA-Textfunktion

Die VBA-Textfunktion wird nur in VBA verwendet. Es scheint, als würde es die Zahlen in Text konvertieren. In Wirklichkeit konvertiert es Zahlen in ein beliebiges Format wie Uhrzeit, Datum oder Zahlenbereich. Dazu müssen wir diese Funktion als Klasse aktivieren lassen.

Wenn wir das Argument von VBA Text sehen, werden wir sehen, dass es aus Arg1 und Arg2 besteht, wie unten gezeigt.

  • Arg1 - Hier setzen wir den Wert, den wir konvertieren wollen, in das Standardformat.
  • Arg2 - Und hier wählen wir das Format aus, in dem die Ausgabe erscheinen soll.

Beide Variablen werden als String definiert.

Wie benutze ich die Excel VBA-Textfunktion?

Anhand einiger Beispiele in Excel lernen wir, wie man eine VBA-Textfunktion verwendet.

Sie können diese VBA-Text-Excel-Vorlage hier herunterladen - VBA-Text-Excel-Vorlage

VBA-Textfunktion - Beispiel 1

Wir werden den Text oder die Zahlen in allen kommenden Beispielen auf unterschiedliche Weise in das Standardformat konvertieren.

Führen Sie die folgenden Schritte aus, um die Textfunktion in VBA zu verwenden.

Schritt 1: Öffnen Sie ein Modul, das auf der Registerkarte Einfügen verfügbar ist (siehe Abbildung unten).

Schritt 2: Schreiben Sie im geöffneten VBA-Modul die unten gezeigte Unterprozedur von VBA-Text.

Code:

 Sub VBA_Text1 () End Sub 

Schritt 3: Gemäß der Syntax von VBA-Text benötigen wir zwei Argumente. Definieren Sie also die erste Variable als String, in der die Eingabe erfolgen soll (siehe unten).

Code:

 Sub VBA_Text1 () Dim Input1 As String End Sub 

Schritt 4: Definieren Sie nun eine andere Variable, in der die Ausgabe erfolgen soll. Und das wäre auch als String.

Code:

 Sub VBA_Text1 () Dim Input1 As String Dim Output As String End Sub 

Schritt 5: Betrachten Sie nun eine beliebige Zahl, die wir in das Standardformat konvertieren müssen. Dies könnte die Zahl sein, die wir sehen wollen, oder es könnte eine beliebige Zufallszahl sein. Angenommen, wir betrachten eine Dezimalzahl von 0, 123 und sehen, was wir erhalten würden.

Code:

 Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 End Sub 

Schritt 6: Nun werden wir in der anderen definierten Variablen, die Output ist, VBA-Text einfügen. Diese Funktion wird nun wie unten gezeigt als Arbeitsblattfunktion verwendet.

Schritt 7: Wählen Sie die VBA-Textfunktion aus der Liste der eingebauten Funktionen. Nun verwenden wir gemäß der Syntax unsere Variable und das Format, in das wir das als Arg1-Standardformat konvertieren möchten, sowie in das wir die ausgewählte Zahl konvertieren möchten.

Code:

 Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 Output = WorksheetFunction.Text (End Sub 

Schritt 8: In Arg1 schreiben wir die Variable Input1, deren Nummer wir konvertieren müssen, und Arg2 hat das Format HH: MM: SS AM / PM.

Code:

 Sub VBA_Text1 () Dim Input1 als String Dim Output als String Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") End Sub 

Schritt 9: Verwenden Sie nun MsgBox, um zu sehen, was als Ausgabe kommt.

Code:

 Sub VBA_Text1 () Dim Input1 als String Dim Output als String Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") MsgBox Output End Sub 

Schritt 10: Führen Sie nun den Code aus, indem Sie die Taste F5 drücken oder auf die Wiedergabetaste klicken. Wir werden das Nachrichtenfeld mit einer Nachricht als 02:57:07 AM erhalten .

Wir werden ein anderes Mal sehen, wenn wir eine andere Nummer wählen.

Schritt 11: Ändern Sie nun die Eingabenummer als 12345 und das Ausgabeformat in TT-MMM-JJJJ wie unten gezeigt.

Code:

 Sub VBA_Text2 () Dim Input1 As String Dim Output As String Input1 = 12345 Output = WorksheetFunction.Text (Input1, "TT-MM-JJJJ") MsgBox Output End Sub 

Schritt 12: Führen Sie nun den Code erneut aus. Wir werden das Datum als 18.10.1933 bekommen

Wenn wir die genaue Zahl kennen, anhand derer wir ein genaues Datum oder eine genaue Uhrzeit ermitteln können, ist dies besser.

VBA-Textfunktion - Beispiel 2

Es gibt eine andere direkte Möglichkeit, VBA-Text anzuwenden. Dazu tragen wir einige Zahlen in die Excel-Tabelle ein, wie unten gezeigt.

Führen Sie die folgenden Schritte aus, um die Textfunktion in VBA zu verwenden.

Schritt 1: Schreiben Sie in einem Modul die Unterkategorie von VBA-Text wie unten gezeigt.

Code:

 Sub VBA_Text3 () End Sub 

Schritt 2: Wählen Sie den Zellenbereich aus, in dem die Ausgabe angezeigt werden soll. Betrachten wir diese Zellen als B1 bis B5.

Code:

 Sub VBA_Text3 () Range ("B1: B5"). Value End Sub 

Schritt 3: Wählen Sie nun den Bereich der Zellen aus, die konvertiert werden sollen. Hier reicht dieser Bereich von Zelle A1 bis A5 zusammen mit der Arbeitsblattfunktion.

Code:

 Sub VBA_Text3 () Bereich ("B1: B5"). Wert = Bereich ("A1: A5"). Arbeitsblatt. End Sub 

Schritt 4: Wählen Sie die Indexfunktion aus, indem Sie sie auswerten.

Code:

 Sub VBA_Text3 () Range ("B1: B5"). Value = Range ("A1: A5"). Worksheet.Evaluate ("INDEX (End Sub 

Schritt 5: Betrachten Sie nun die Textfunktion und wählen Sie den Bereich aus, den wir konvertieren müssen. Und das Format besteht aus mehreren Nullen.

Code:

 Sub VBA_Text3 () Range ("B1: B5"). Value = Range ("A1: A5"). Worksheet.Evaluate ("INDEX (TEXT (A1: A5, " '000000 "), )") End Sub 

Schritt 6: Führen Sie nun den Code aus, indem Sie die Taste F5 drücken oder auf die Wiedergabetaste klicken. Wir werden sehen, dass die in Spalte A verfügbaren Zahlen jetzt in Text mit mehreren Nullen umgewandelt wurden, was zu 6-stelligen Zahlen in Spalte B führt.

Nun wollen wir sehen, was passieren würde, wenn wir das Ausgabeformat wieder von führenden Nullen in das Zeitformat ändern.

Schritt 7: Geben Sie in Arg2 das Zeitformat HH: MM: SS ein und ändern Sie die Ausgabebereichszelle in C1 bis C5, ohne die vom vorherigen Code erhaltene Ausgabe zu stören.

Code:

 Sub VBA_Text3 () Range ("C1: C5"). Value = Range ("C1: C5"). Worksheet.Evaluate ("INDEX (TEXT (A1: A5, " hh: mm: ss "), ) ) End Sub 

Schritt 8: Führen Sie den Code erneut aus. Wir werden sehen, Spalte C wird mit dem Standardzeitformat gefüllt.

Versuchen wir es mit einem anderen Experiment.

Schritt 9: In diesem Schritt ändern wir den Bereich der Ausgabezellen von D1 bis D5, in dem der VBA-Text angezeigt wird. Ändern Sie das Arg2 im Datumsformat TT-MMM-JJJJ wie unten gezeigt.

Code:

 Sub VBA_Text3 () Range ("D1: D5"). Value = Range ("D1: D5"). Worksheet.Evaluate ("INDEX (TEXT (A1: A5, " TT-MMM-JJJJ ")") ) End Sub 

Schritt 10: Führen Sie den Code erneut aus. Dieses Mal sehen wir, dass das Datum in Spalte D angezeigt wird. Diese Datumsangaben haben das Format TT-MMM-JJJJ.

Auf diese Weise können wir die Zahlen in jedem gewünschten Standardformat ändern.

Vor- und Nachteile der Excel VBA-Textfunktion

  • Dies ist einfach zu implementieren.
  • Wir können die Zahlen in jedem Format ändern, das wir sehen möchten.
  • Wir können keinen Text in das gewünschte Zahlenformat konvertieren.

Dinge, an die man sich erinnern sollte

  • VBA-Text konvertiert nur Zahlen in Zahlen. Das Zahlenformat ist jedoch das Standardformat wie Datum, Uhrzeit, die Kombination aus Datum und Uhrzeit oder eine beliebige Ziffernfolge.
  • Wenn Sie die Zahlen anwenden und in ein Format mit vorangestellten Nullen ändern, setzen Sie den Apostroph vor die Nullen. Damit die Zahlen in Text umgewandelt werden und die Nullen erscheinen.
  • Wenn wir versuchen, Text mit VBA-Text zu konvertieren, wird die Ausgabe nur als Text ausgegeben.
  • Um die genaue Ausgabe zu erhalten, müssen wir die Zahlenkombination kennen, die die genaue Uhrzeit und das genaue Datum liefert, die wir sehen möchten.
  • Speichern Sie danach immer den gesamten Code im Makro-fähigen Format, damit der Code nicht verloren geht.

Empfohlene Artikel

Dies ist eine Anleitung zur VBA-Textfunktion. Hier diskutieren wir die Verwendung der Textfunktion in Excel VBA zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Kopieren Einfügen Funktion in VBA
  2. Teilzeichenfolge-Excel-Funktion
  3. VBA-Index außerhalb des gültigen Bereichs
  4. Excel ISNUMBER Formula