Rückkehr in VBA-Code-Beispiele

Verwendung von IsNumeric und IsNumber in VBA

In diesem Tutorial lernen Sie, wie Sie die Funktionen IsNumeric und IsNumber in VBA verwenden, um zu prüfen, ob Werte Zahlen sind.

IsNumeric ist eine integrierte VBA-Funktion, während IsNumber eine Excel-Funktion ist, die von VBA-Code aus 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 zum Beispiel eine leere Zelle als Parameter übergeben, gibt IsNumber FALSE zurück, während IsNumeric TRUE zurückgibt. Auch wenn Sie eine Zelle übergeben, die eine als Text gespeicherte Zahl enthält, gibt IsNumber FALSE und IsNumeric TRUE zurück.

Sie müssen diese Einschränkungen der beiden Funktionen beachten und entscheiden, in welchen Fällen es besser ist, IsNumeric oder IsNumber zu verwenden.

Verwendung von IsNumeric in VBA

IsNumeric 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 kommt ein Beispiel für die Verwendung eines Zellenwerts:

If IsNumeric(Sheet1.Range("A1").Value) = True Then
    MsgBox "Der Wert in A1 ist numerisch"
Else
    MsgBox "Der Wert in A1 ist nicht numerisch"
End If

In diesem Beispiel wird mit der Funktion IsNumeric geprüft, ob der Wert in Zelle A1 numerisch ist. Diese Funktion gibt je nach Ergebnis der Funktion die entsprechende Meldung zurück.

Das nächste Beispiel führt die gleiche Operation durch, allerdings mit einer Variablen anstelle eines Zellenwerts:

Dim n as Variant

n = Sheet1.Range("A1").Value

If IsNumeric(n) = True Then
    MsgBox "Der Wert in A1 ist numerisch"
Else
    MsgBox "Der Wert in A1 ist nicht numerisch"
End If

Verwendung von IsNumber in VBA

IsNumber ist eine Excel-Funktion, die in VBA verwendet werden kann. Sie hat eine fast ähnliche Ausgabe wie IsNumeric. Schauen wir uns ein Beispiel für die IsNumber-Funktion an:

If Application.WorksheetFunction.IsNumber(Sheet1.Range("A1").Value) = True Then

    MsgBox "Der Wert in A1 ist numerisch"

Else

    MsgBox "Der Wert in A1 ist nicht numerisch"

End If

Wie Sie aus dem Code erkennen können, besteht der Unterschied in der Syntax beim Aufruf der Funktion. Da IsNumber die Excel-Funktion ist, müssen wir Application.WorksheetFunction vor den Funktionsaufruf setzen.

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!