VBA-Textfunktion

Dieses Tutorial zeigt, wie Sie die Textfunktion in VBA verwenden.

Die Textfunktion wird in einem Excel-Arbeitsblatt verwendet, um einen Teil einer Zeichenfolge in einem angegebenen Format zurückzugeben. Die Textfunktion ist keine VBA-Funktion, kann jedoch in VBA verwendet werden, indem auf das Worksheet Function-Objekt verwiesen wird.

ArbeitsblattFunktion.Text

Die Syntax in VBA wäre daher wie folgt:

=ArbeitsblattFunktion.Text (Arg1, Arg2)

wobei Arg1 die ursprüngliche Zeichenfolge und Arg2 das Format der Zeichenfolge ist, die zurückgegeben werden soll.

1234567 UntertestWSFunction()Dim dte As StringDim strD als Stringdte = "08.05.2021"strD= WorksheetFunction.Text(dte, "mmmm")MsgBox strDEnd Sub

Im obigen Beispiel speichert die String-Variable dte ein Datum. Die Textfunktion gibt dann den Monatsteil des Datums zurück.

Zahlen mit der Textfunktion formatieren

Wir können die Textfunktion verwenden, um Zahlen in unserem VBA-Code zu formatieren.

1234567 UnterformatWährung()Dim strNum als StringDim strFormat As StringstrNum = "75896.125"strFormat = WorksheetFunction.Text(strNum, "$#,##0.00")MsgBox strFormatEnd Sub

Die im obigen Beispiel zurückgegebene Zeichenfolge wäre 75.896,13 $.

Andere Beispiele für die Zahlenformatierung mit der Textfunktion sind:

12345678 =ArbeitsblattFunktion.Text(75896.125, "0")das wird zurückkommen: "75896"=ArbeitsblattFunktion.Text(75896.125, "0.0")das wird zurückkommen: "75896.1"=ArbeitsblattFunktion.Text(75896.125, "#,##0")das wird zurückkommen: "75,896"

Excel verfügt jedoch über eine integrierte VBA-Funktion, die wir anstelle der Textfunktion verwenden können, wenn wir Datumsangaben und Zahlen in VBA formatieren möchten. Dies wird als Formatfunktion bezeichnet.

Die VBA-Formatierungsfunktion

Nehmen wir das obige Beispiel, anstatt WorksheetFunction.Text zu verwenden, können wir einfach die Format-Funktion verwenden, um die gleichen Ergebnisse zu erzielen.

12345678 =Format(75896.125, "0")das wird zurückkommen: "75896"=Format(75896.125, "0.0")das wird zurückkommen: "75896.1"=Format(75896.125, "#,##0")das wird zurückkommen: "75,896"

Ebenso können wir die Format-Funktion verwenden, um Datumsteile einer Zeichenfolge zu formatieren.

1234567 Unter TestFormatFunction()Dim dte As StringDim strD als Stringdte = "08.05.2021"strD= Format(dte, "mmmm")MsgBox strDEnd Sub

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave