VBA-Text

Text ist eine Arbeitsblattfunktion in Excel, kann jedoch auch in VBA verwendet werden, während die range-Eigenschaft 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 Sie das Arbeitsblattfunktionsklassenobjekt in VBA verwenden. Die Textfunktion in Excel konvertiert einen Wert in ein bestimmtes Zahlenformat.

Eines der Probleme mit dieser Funktion sind Argumente. Wann immer wir die VBA-Arbeitsblatt-Funktionsklasse 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.

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

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. Hierfür wendet der Code 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.