Verwenden von Isnumeric und Isnumber in VBA

In diesem Tutorial erfahren Sie, wie Sie die IstNumerisch und Ist Nummer Funktionen in VBA, um zu überprüfen, ob Werte Zahlen sind.

IsNumeric ist eine integrierte VBA-Funktion, während IsNumber eine Excel-Funktion ist, die aus VBA-Code aufgerufen werden kann.

Unterschied zwischen IsNumber und IsNumeric in VBA

IsNumber prüft, ob ein Wert als Zahl gespeichert ist. IsNumeric hingegen prüft, ob ein Wert in eine Zahl umgewandelt werden kann.

Wenn Sie beispielsweise eine leere Zelle als Parameter übergeben, gibt IsNumber FALSE zurück, während IsNumeric TRUE zurückgibt. Wenn Sie außerdem eine Zelle mit einer als Text gespeicherten Zahl übergeben, gibt IsNumber FALSE und IsNumeric TRUE zurück.

Sie müssen diese Einschränkungen beider Funktionen beachten und entscheiden, in welchen Fällen IsNumeric besser verwendet wird und wann IsNumber.

Verwenden von IsNumeric in VBA

IstNumerisch ist die VBA-Funktion, die prüft, ob ein Wert numerisch ist und als Ergebnis ein boolesches TRUE oder FALSE zurückgibt.

Die Funktion kann eine Variable oder einen Zellenwert annehmen.

Hier ist ein Beispiel für einen Zellenwert:

12345 If IsNumeric(Sheet1.Range("A1").Value) = True ThenMsgBox "Der Wert in A1 ist numerisch"AndersMsgBox "Der Wert in A1 ist nicht numerisch"Ende Wenn

In diesem Beispiel prüfen wir mit IsNumeric, ob der Wert aus der Zelle A1 numerisch ist. Diese Funktion gibt je nach Ergebnis der Funktion die entsprechende Meldung zurück.

Im nächsten Beispiel wird dieselbe Operation ausgeführt, außer mit einer Variablen anstelle eines Zellenwerts:

123456789 Dim n als Varianten = Sheet1.Range("A1").ValueWenn IsNumeric(n) = True ThenMsgBox "Der Wert in A1 ist numerisch"AndersMsgBox "Der Wert in A1 ist nicht numerisch"Ende Wenn

Verwenden von IsNumber in VBA

Ist Nummer ist eine Excel-Funktion, die in VBA verwendet werden kann. Es hat eine fast ähnliche Ausgabe wie IsNumeric. Schauen wir uns das Beispiel der IsNumber-Funktion an:

123456789 Wenn Application.WorksheetFunction.IsNumber(Sheet1.Range("A1").Value) = True ThenMsgBox "Der Wert in A1 ist numerisch"AndersMsgBox "Der Wert in A1 ist nicht numerisch"Ende Wenn

Wie Sie dem Code entnehmen können, liegt der Unterschied in der Syntax beim Aufruf der Funktion. Da IsNumber die Excel-Funktion ist, müssen wir setzen Anwendung.ArbeitsblattFunktion vor dem Funktionsaufruf.

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

wave wave wave wave wave