ich wollte mir eine Tabelle erstellen, wo ich unteranderem die KFZ- Steuer pro Jahr eintrage. Dieser betrag soll dann nach dem bestätigen der Enter- Taste oder anderweitige Taste, umgerechnet werden in / Einssatztage und / monat.
Dabei soll dem Benutzer freigestellt bleiben, was er zuerst eingibt. Entweder erst / monat, / Jahr oder /Tag.
Ansich habe ich das so ganz ok hinbekommen. (denke ich)
Leider bekomme ich immer einen LaufzeitFehler 13 "Typen unverträglich", wenn ich alle drei Zellen gleichzeitig löschen will. Diesen Fehler kann ich nachvollziehen aber ich habe keine Ahnung wie ich das Problem lösen könnte.
Vielleicht kann einer von euch mir da Hilfe geben.
Gruß Hendrik
https://www.herber.de/bbs/user/91498.xlsm
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Double
Dim B As Double
Dim C As Double
Dim D As Double
If Target = Range("B6") Or Target = Range("C6") Or Target = Range("d6") Or Target = Range(" _
B2") Then
Range("B2").Select
D = Range("B2").Value 'aus einer Zelle lesen
Range("B6").Select
A = Range("B6").Value 'aus einer Zelle lesen
Range("c6").Select
B = Range("C6").Value 'aus einer Zelle lesen
Range("d6").Select
C = Range("D6").Value 'aus einer Zelle lesen
If A = 0 And B = 0 And C = 0 Then
Exit Sub
ElseIf A > 0 And B = 0 And C = 0 Then
B = A / 12
C = A / D
MsgBox "Ausgelesener Wert für A: " & A & ""
Range("C6").Select
ActiveCell.FormulaR1C1 = B 'Wert in die Zelle schreiben
MsgBox "errechneter Wert für B: " & B & ""
Range("D6").Select
ActiveCell.FormulaR1C1 = C 'Wert in die Zelle schreiben
MsgBox "errechneter Wert für C: " & C & ""
Exit Sub
ElseIf A = 0 And B > 0 And C = 0 Then
MsgBox "ERSTER Else If Block" & vbCrLf & "Ausgelesener Wert für B: " & B & ""
A = B * 12
C = A / D
MsgBox "ERSTER Else If Block" & vbCrLf & " Ausgelesener Wert für A: " & A & ""
Range("B6").Select
ActiveCell.FormulaR1C1 = A 'Wert in die Zelle schreiben
MsgBox "ERSTER Else If Block" & vbCrLf & "errechneter Wert für C: " & C & ""
Range("D6").Select
ActiveCell.FormulaR1C1 = C 'Wert in die Zelle schreiben
Exit Sub
ElseIf A = 0 And B = 0 And C > 0 Then
MsgBox "ERSTER Else If Block" & vbCrLf & "Ausgelesener Wert für C: " & C & ""
A = C * D
B = A / 12
MsgBox "ZWEITER Else If Block" & vbCrLf & "Ausgelesener Wert für A: " & A & ""
Range("B6").Select
ActiveCell.FormulaR1C1 = A 'Wert in die Zelle schreiben
MsgBox "ZWEITER Else If Block" & vbCrLf & "errechneter Wert für B: " & B & ""
Range("C6").Select
ActiveCell.FormulaR1C1 = B 'Wert in die Zelle schreiben
Exit Sub
Else
MsgBox "Else Funktion !!!!!!!!"
Exit Sub
End If
Else
Exit Sub
End If
End Sub