VBA Inputbox Werte verrechnen?
Moin Leute,
anbei eine kurze Aufgabenstellung. Ich konnte den ersten Teil bereits erfolgreich lösen, leider scheitere ich aber daran den Inputwert mit der zugehörigen prozentzahl zu multiplizieren.
Folgende Aufgabenstellung:
Schreiben Sie eine Prozedur zur Ermittlung des Zinssatzes für eine Geldanlage. Liegt der anfänglich angelegte Geldbetrag über 10.000,00 €, beträgt der Zinssatz 3 %, liegt er über 20.000,00 €, beläuft sich der Zinssatz auf 3,5 % ansonsten liegt er bei 2,75 %. Verwenden Sie eine If-Else-Anweisung. Der Eingangsbetrag ist über eine Inputbox zu erhalten. Der gültige Zinssatz und das Resultat ist über eine MsgBox anzuzeigen.
Mein Fortschritt:
Sub test2()
Dim Zahl As Double
Zahl = InputBox("Gebe Sie eine Zahl ein")
If Zahl > 20000 Then
MsgBox (("3,5%"))
ElseIf Zahl > 10000 Then
MsgBox (("3%"))
ElseIf Zahl <= 10000 Then
MsgBox (("2,75%"))
End If
End Sub
1 Antwort
VBA ist gruselig. InputBox liefert einen String, der eine Double-Variablen zugewiesen wird. Das kann gut gehen... muss es aber nicht. Also zuerst würde ich die Eingabe einer String-Variablen zuweisen und sie auf numerisch prüfen (s. IsNumeric). Wenn ja, per CDbl in eine Double-Variable umwandeln, ansonsten eine Fehlermeldung anzeigen. Der Typ Currency bietet sich stattdessen an. Statt der Msgboxen weist du die Prozentzahl einer weiteren Variablen zu. Nach dem "End If" berechnest du aus der Eingabe und der Prozentzahl das Ergebnis.
Bei den Deklarationen:
Dim Prozentsatz As Double
Habe nochmal die Aufgabenstellung gelesen. Von Ausrechnung eines Zinsbetrags steht nichts drin. Aber falls doch:
Dim Zinsbetrag As Double 'Bei den Deklarationen
In den einzelnen If-Else-Zweigen:
Prozentsatz = 3.5 'resp. 3 und 2.75
Nach dem End If:
Zinsbetrag = Zahl * Prozentsatz / 100
MsgBox("Zins (%)=" & Prozentsatz & ", Zinsbetrag=" & Zinsbetrag)
Und wie gesagt, du kannst auch Currency verwenden.
Danke vorab. Könntest du dazu vielleicht ein kleines Codebeispiel schreiben? Stehe ech auf dem Schlauch damit.
Beste Grüße und danke Vorab.