1 Pluspunkt 0 Minuspunkte

Wie kann ich prüfen ob in einem Feld eine Ganzzahl oder ein Double steht?

Dim cell As Range
Set cell = Cells(1, 1)

If VarType(cell.Value) = vbDouble Then
    MsgBox "Double"
ElseIf VarType(cell.Value) = vbInteger Then
    MsgBox "Integer"
Else
    MsgBox "Fehler"
End If
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Wenn du sicherstellen möchtest, dass auch ganze Zahlen als Double erkannt werden, könntest du den Wert explizit in einen Double-Typ konvertieren und dann den Datentyp überprüfen.

If VarType(CDbl(cell.Value)) = vbDouble Then
    MsgBox "Double"
ElseIf VarType(CInt(cell.Value)) = vbInteger Then
    MsgBox "Integer"
Else
    MsgBox "Fehler"
End If
von