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 zinsberechnung()
' Programm berechnet die monatliche Belastung
' bei einzugebendem Kaufpreis und Eigenkapital
' Dateiname: funktionen1
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 = InputBox("Geben Sie jetzt den Kaufpreis ein!")
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 = InputBox("Geben Sie jetzt den Kaufpreis ein!")
Loop
End Sub