jobo: VBAs typenunverträglich - wie korrekt umgehen?

Beitrag lesen

Hallo,

ein VBA-Skript soll Zellwerte addieren. Steht da mal ein Text drinne, soll das Programm stattdessen einfach eine Null setzen. Mit Val() schneide ich aber, wie ich grad merkte, auch bei Zahlen dann die Nachkommastellen weg (ist ja auch logisch, weil nur die Zahlen bis zum ersten Buchstaben ausgewertet werden).

GetActualAnzahl = actualAnzahlCell.Value
        If VarType(GetActualAnzahl) = 8 Then
            GetActualAnzahl = 0
        End If
        'nur wenn was in Spalte C steht
        If IsError(GetActualAnzahl) Then
            GetActualAnzahl = 0
        End If

bzw.

einnahme = ws.Range("E" & actualAnzahlCell.Row).Value
    If VarType(einnahme) = 8 Then
       einnahme = 0
    End If
    If VarType(einnahme) = 0 Then
       einnahme = 0
    End If

Ich habe es jetzt mit VarType() probiert, wobei ich da ja alles mögliche eigentlich eintragen müsste, weil Zahl kann zB. "2" oder auch "5" sein.

Wie mache ich es denn besser, gibt es eine Funktion, die egal was es ist konvertiert in eine Zahl (mit Komma)?

Gruß

jobo