Option Explicit
Private Sub BerechnenButton_Click()
On Error GoTo Fehlerbehandlung
Dim Guthaben As Double
Dim Zins As Double
Dim Laufzeit As Integer
Dim Ergebnis As Double
Guthaben = wandle_in_double_um(GuthabenInput.Text)
Zins = wandle_in_double_um(ZinssatzInput.Text)
Laufzeit = wandle_in_int_um(LaufzeitInput.Text)
pruefeZins Zins
pruefeGuthaben Guthaben
pruefeLaufzeit Laufzeit
Ergebnis = Guthaben * (1 + Zins / 100) ^ Laufzeit
ErgebnisInput.Text = Ergebnis
Exit Sub
Fehlerbehandlung:
MsgBox ("Fehler: " & Err.Description)
End Sub
Sub pruefeZins(ByVal Zins As Double)
Const maxZins As Double = 15
If Zins <= 0 Or Zins > maxZins Then
Err.Raise 5001, "pruefeZins", "Zins muss zwischen 0 und 15 sein!"
End If
End Sub
Sub pruefeGuthaben(ByVal Guthaben As Double)
If Guthaben <= 0 Then
Err.Raise 5002, "pruefeGuthaben", "Guthaben muss größer 0 sein!"
End If
End Sub
Sub pruefeLaufzeit(ByVal Laufzeit As Integer)
If Laufzeit <= 0 Then
Err.Raise 5003, "pruefeLaufzeit", "Laufzeit muss größer 0 sein!"
End If
End Sub
Function wandle_in_double_um(ByVal eingabe As String) As Double
If Not IsNumeric(eingabe) Then
Err.Raise 5000, "wandle_in_double_um", "Bitte nur Zahlen eingeben!"
End If
wandle_in_double_um = CDbl(eingabe)
End Function
Function wandle_in_int_um(ByVal eingabe As String) As Integer
If Not IsNumeric(eingabe) Then
Err.Raise 5000, "wandle_in_int_um", "Bitte nur Zahlen eingeben!"
End If
wandle_in_int_um = CInt(eingabe)
End Function