Option Explicit
Sub Gib_Programmbeschreibung_aus()
    MsgBox ("Bitte geben Sie Ihr Eigenkapital und den " _
            & Chr$(13) & "Kaufpreis ein, sowie die Ihnen zugeteilte" _
            & Chr$(13) & " Zinsklasse ein! Sie beenden das Programm," _
            & Chr$(13) & " indem Sie beenden als Kaufpreis angeben")
End Sub

Sub Lies_den_Immobilienpreis_ein(immobilienPreis As String)
    immobilienPreis = InputBox("Geben Sie jetzt den Kaufpreis ein!")
End Sub


Sub zinsberechnung()
    
' Programm berechnet die monatliche Belastung
    ' bei einzugebendem Kaufpreis und Eigenkapital
    ' Dateiname: funktionen4
    Const zinsKlasse1 As Double = 5.5
    
Const zinsKlasse2 As Double = 5.3
    
Const zinsKlasse3 As Double = 5.2
    
Const zinsKlasse4 As Double = 5#
    
Const zinsKlasse5 As Double = 4.5
    
Const tilgung As Double = 1
    
Dim eingabe As String
    
Dim eigenkapital As Double
    
Dim immobilienPreis As Double
    
Dim aufzunehmenderBetrag As Double
    
Dim eigenkapitalquote As Double
    
Dim jahresBelastung As Double
    
Dim monatlicheBelastung As Double
    
Dim zinsKlasse As Integer
    
    Gib_Programmbeschreibung_aus
    Lies_den_Immobilienpreis_ein eingabe
    
Do While eingabe <> "beenden"
        
' Lies restliche und ueberpruefe alle Benutzereingaben
        If Not IsNumeric(eingabe) Then
            MsgBox ("Kaufpreis muß eine Zahl sein!")
            
Exit Sub
        
End If
        immobilienPreis = 
CDbl(eingabe)
        eingabe = InputBox("Geben Sie nun ihr Eigenkapital ein!")
        
If Not IsNumeric(eingabe) Then
            MsgBox ("Eigenkapital muß eine Zahl sein!")
            
Exit Sub
        
End If
        eigenkapital = 
CDbl(eingabe)
        eingabe = InputBox("Geben Sie nun ihre Zinsklasse ein!")
        
If Not IsNumeric(eingabe) Then
            MsgBox ("Zinsklasse muß eine Zahl sein!")
            
Exit Sub
        
End If
        zinsKlasse = 
CInt(eingabe)
        
' führe Berechnungen durch
        ' berechne Eigenkapitalquote
        eigenkapitalquote = (eigenkapital / immobilienPreis) * 100
        
If eigenkapitalquote < 30 Then
            MsgBox ("Ihre Eigenkapitalquote " & eigenkapitalquote & _
                    "% ist zu niedrig!")
            
Exit Sub
        
Else
            
Select Case zinsKlasse
                
Case 1
                    
'Monatliche Belastung berechnen
                    aufzunehmenderBetrag = immobilienPreis - eigenkapital
                    jahresBelastung = (aufzunehmenderBetrag / 100) * (zinsKlasse1 + tilgung)
                    monatlicheBelastung = jahresBelastung / 12
                
Case 2
                    
'Monatliche Belastung berechnen
                    aufzunehmenderBetrag = immobilienPreis - eigenkapital
                    jahresBelastung = (aufzunehmenderBetrag / 100) * (zinsKlasse2 + tilgung)
                    monatlicheBelastung = jahresBelastung / 12
                
Case 3
                    
'Monatliche Belastung berechnen
                    aufzunehmenderBetrag = immobilienPreis - eigenkapital
                    jahresBelastung = (aufzunehmenderBetrag / 100) * (zinsKlasse3 + tilgung)
                    monatlicheBelastung = jahresBelastung / 12
                
Case 4
                    
'Monatliche Belastung berechnen
                    aufzunehmenderBetrag = immobilienPreis - eigenkapital
                    jahresBelastung = (aufzunehmenderBetrag / 100) * (zinsKlasse4 + tilgung)
                    monatlicheBelastung = jahresBelastung / 12
                
Case 5
                    
'Monatliche Belastung berechnen
                    aufzunehmenderBetrag = immobilienPreis - eigenkapital
                    jahresBelastung = (aufzunehmenderBetrag / 100) * (zinsKlasse5 + tilgung)
                    monatlicheBelastung = jahresBelastung / 12
                
Case Else
                    MsgBox ("Sie haben eine falsche Zinsklasse" & _
                            " eingegeben! Zinsklasse muß" & _
                            " kleiner gleich 5 sein!")
                    
Exit Sub
        
End Select
    
End If
    
' Gib Ergebnisse aus
    MsgBox ("Ihre monatliche Belastung ist: " & monatlicheBelastung & " DM")
    Lies_den_Immobilienpreis_ein eingabe
Loop
End Sub