Text ist eine Arbeitsblattfunktion in Excel, kann jedoch auch in VBA verwendet werden, während die Eigenschaft range verwendet wird. Die Funktion für diese Funktion ähnelt der Arbeitsblattfunktion und verwendet die gleiche Anzahl von Argumenten, die die Werte sind, die benötigt werden konvertiert und ein angegebenes Zahlenformat.
Excel VBA Textfunktion
TEXT ist die Funktion, die im Arbeitsblatt verfügbar ist, aber leider keine in Excel VBA integrierte Funktion. Um auf diese Funktion zugreifen zu können, müssen wir das Arbeitsblattfunktionsklassenobjekt in VBA verwenden. Die Textfunktion in Excel konvertiert einen Wert in ein bestimmtes Zahlenformat.
Eines der Probleme mit dieser Funktion als Argumente. Wenn wir die Funktionsklasse des VBA-Arbeitsblatts verwenden, sehen wir die eindeutige Syntax nicht so wie in unserem Arbeitsblatt. Es heißt nur "Arg1" und "Arg2".
- Arg1 ist der Wert, auf den wir die Formatierung anwenden müssen.
- Arg2 ist die Formatierung, die wir anwenden müssen, und wir müssen den Formatierungscode angeben.
Beispiele für VBA-Textfunktionen in Excel
Unten finden Sie Beispiele für die Excel VBA-Textfunktion.
Beispiel 1
Lassen Sie mich Ihnen ein einfaches Beispiel für TEXT in VBA Excel zeigen. Sehen Sie sich den folgenden Code in Visual Basic an.
Code:
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
Erstens habe ich zwei Variablen in VBA als Zeichenfolge deklariert.
Dim FormattingValue As String Dim FormattingResult As String
Für die erste Variable habe ich die Formatierungsnummer zugewiesen, die wir formatieren müssen.
Formatierungswert = 0,564
Jetzt habe ich für eine andere Variable die TEXT-Funktion zugewiesen.
FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")
Wenn Sie beobachten, habe ich die Formatierung der Zeit angewendet, dh "hh: mm: ss AM / PM".
Dann habe ich endlich ein VBA-Meldungsfeld angewendet, um das Ergebnis anzuzeigen.
MsgBox FormattingResult
Wenn ich den Code ausführe, wendet die TEXT-Funktion das Zeitformat auf die Zahl 0,564 an und zeigt das Ergebnis wie folgt an.
Also haben wir die Zeit als " 01:32:10 PM ".
Beispiel 2
Ähnlich wie im Beispiel für das Datumsformat haben wir in diesem Beispiel einige geringfügige Änderungen vorgenommen. Unten ist der Code.
Code:
Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "TT-MMM-JJJJ") MsgBox FormattingResult End Sub
Im Vergleich zum vorherigen Code habe ich den Formatierungswert von 0,565 auf 43585 geändert und den Formatierungsstil als "TT-MMM-JJJJ" geändert.
Dadurch wird die Formatierung auf die Nummer 43585 als Datum angewendet, und das Ergebnis ist wie folgt.
Formatierung auf Zellen anwenden
Wir haben einfache Beispiele gesehen. Schauen Sie sich nun an, wie Sie mit Zellen in einem Arbeitsblatt arbeiten. Schauen Sie sich für dieses Beispiel die folgenden Daten an.
Für alle diese Zahlen müssen wir das Zeitformat anwenden. Dieser Code wendet die Formatierung an.
Code:
Sub Text_Example3 () Dim k As Integer Für k = 1 bis 10 Zellen (k, 2) .Value = WorksheetFunction.Text (Zellen (k, 1) .Value, "hh: mm: ss AM / PM") Weiter k Ende Sub
Dieser Code durchläuft 10 Zellen und wendet die folgende Formatierung an.
Auf diese Weise können wir mithilfe der VBA TEXT-Funktion die Zahlenformatierung auf die Zellen anwenden.