VBA Val Funktion

Excel VBA Val Funktion

Die Val-Funktion in vba fällt unter die String-Funktionen. Sie ist auch eine eingebaute Funktion in VBA, mit der die numerischen Werte einer Datenvariablen abgerufen werden. Wenn eine Variable den Wert A10 hat, gibt die Val-Funktion 10 als Ausgabe aus Nimmt eine Zeichenfolge als Argument und gibt die in der Zeichenfolge vorhandenen Zahlen zurück.

VAL steht in der VBA-Terminologie für VALUE. Diese Funktion konvertiert die Zeichenfolge mit den Zahlen in eine tatsächliche Zahl. Wenn Sie beispielsweise die Textzeichenfolge "1234 Global" angeben, wird nur der numerische Teil zurückgegeben, dh 1234.

Wenn wir Daten von Webnummern herunterladen oder abrufen, werden diese häufig als Textwerte in einer Tabelle gespeichert. Die Konvertierung von Text in Zahlen ist die schwierigste Aufgabe, wenn Sie die richtige Funktion in Excel nicht kennen. Als reguläre Arbeitsblattfunktion haben wir eine Funktion namens VALUE, die alle Zeichenfolgen, die Zahlen darstellen, mit einer einfachen Funktion im Arbeitsblatt in exakte Zahlen konvertiert. In diesem Artikel zeigen wir, wie dies in VBA mit der VAL-Funktion erreicht werden kann.

Syntax

Es hat nur ein Argument, dh String.

  • String: Es ist einfach ein String-Wert, mit dem wir versuchen, den numerischen Teil herauszuholen.

Die VAL-Funktion konvertiert also die angegebene Zeichenfolge in einen numerischen Wert.

Hinweis: Die VAL-Funktion ignoriert immer die Leerzeichen und liest die Zahlen nach dem Leerzeichen oder den Leerzeichen weiter.

Wenn die angegebene Zeichenfolge beispielsweise "145 45 666 3" lautet, werden die Leerzeichen ignoriert und das Ergebnis als "145456663" zurückgegeben.

Beispiele für die VAL-Funktion in Excel VBA

Sie können diese VBA Val Function Excel-Vorlage hier herunterladen - VBA Val Function Excel-Vorlage

Beispiel 1

Versuchen wir das erste Beispiel mit einer einfachen Zahl, dh "14 56 47".

Der folgende Code ist für Sie.

Code:

 Sub Val_Example1 () Dim k As Variant k = Val ("14 56 47") 'Konvertiere das Obige als 145647 MsgBox k End Sub 

Wenn Sie VBA-Code mit der Taste F5 oder manuell ausführen, wird das Ergebnis als "145647" zurückgegeben, indem alle Leerzeichen wie in der folgenden Abbildung gezeigt ignoriert werden.

Beispiel 2

In diesem Beispiel sehen wir, was das Ergebnis der Zeichenfolge "+456" ist.

Code:

 Sub Val_Example2 () Dim k As Variant k = Val ("+ 456") 'Konvertiere das Obige als 456 MsgBox k End Sub 

Sie können diesen Code manuell oder über die Taste F5 ausführen, um den Wert 456 zurückzugeben, indem Sie +456 ignorieren.

Beispiel 3

Versuchen wir nun die gleiche Zahl mit einem negativen Vorzeichen.

Code:

 Sub Val_Example3 () Dim k As Variant k = Val ("- 456") 'Konvertiere das Obige als -456 MsgBox k End Sub 

Dieser Code gibt den Wert nur als -456 zurück, da die Nummer mit dem Operatorzeichen angezeigt werden sollte.

Beispiel 4

Versuchen wir nun diese Saite "100 Kg".

Code:

 Sub Val_Example4 () Dim k As Variant k = Val ("100 KG") 'Ignoriert KG und gibt nur 100 MsgBox k End Sub zurück 

Wenn Sie diesen Code manuell oder mit der Taste F5 ausführen, ignoriert dieser obige Code "KG" und gibt nur "100" im VBA-Meldungsfeld zurück.

Beispiel # 5

Versuchen Sie nun die Datumszeichenfolge, dh "14-05-2018".

Code:

Sub Val_Example5 () Dim k As Variant k = Val ("14-05-2019") 'Gibt als Ergebnis 14 zurück. MsgBox k End Sub

Der obige Code gibt als Ergebnis 14 zurück, da die VAL-Funktion den numerischen Wert nur abrufen kann, bis sie ein anderes als ein numerisches Zeichen findet.

Beispiel 6

Versuchen Sie nun die Zeichenfolge "7459Good456".

Code:

Sub Val_Example6 () Dim k As Variant k = Val ("7459 Good 456") 'Gibt als Ergebnis 7459 zurück. MsgBox k End Sub

Dadurch werden die Zahlen extrahiert, bis das nicht numerische Zeichen gefunden wird, dh das Ergebnis ist 7459. Obwohl nach dem nicht numerischen Wert „Gut“ numerische Werte stehen, werden Zahlen danach vollständig ignoriert.

Beispiel # 7

Versuchen Sie nun den String-Wert "H 12456".

Code:

Sub Val_Example7 () Dim k As Variant k = Val ("H 12456") 'Gibt als Ergebnis 0 zurück. MsgBox k End Sub

Führen Sie den obigen Code mit der Tastenkombination F5 oder manuell aus, und geben Sie das Ergebnis als Null zurück. Da das allererste Zeichen der von uns angegebenen Zeichenfolge ein nicht numerisches Zeichen ist, ist das Ergebnis Null.

Beispiel # 8

Versuchen Sie nun diesen String „24545. 2 ”.

Code:

Sub Val_Example8 () Dim k As Variant k = Val ("24545. 2") 'Gibt als Ergebnis 24545.2 zurück. MsgBox k End Sub

Der Code gibt das Ergebnis als 24545.2 zurück, da die VBA VAL-Funktion den Zeichenpunkt (.) Als Dezimalzeichen betrachtet und das Ergebnis entsprechend zurückgibt.