Option Explicit
Sub zinsberechnung()
' Programm berechnet die monatliche Belastung
' bei einzugebendem Kaufpreis und Eigenkapital
' Dateiname: funktionen8
Dim eingabe As String
Dim eigenkapital As Double
Dim immobilienpreis As Double
Dim aufzunehmenderBetrag As Double
Dim monatlicheBelastung As Double
Dim zinsKlasse As Integer
Dim fehler As Boolean
Gib_Programmbeschreibung_aus
Lies_den_Immobilienpreis_ein eingabe
Do While eingabe <> "beenden"
Lies_restliche_und_ueberpruefe_alle_Benutzereingaben eingabe, _
immobilienpreis, _
eigenkapital, _
zinsKlasse, _
fehler
If fehler Then
Exit Sub
End If
fuehre_Berechnungen_durch eigenkapital, immobilienpreis, _
zinsKlasse, monatlicheBelastung, fehler
If fehler Then
Exit Sub
End If
' Gib Ergebnisse aus
MsgBox ("Ihre monatliche Belastung ist: " & monatlicheBelastung & " DM")
Lies_den_Immobilienpreis_ein eingabe
Loop
End Sub
Sub berechne_Eigenkapitalquote(ByVal eigenkapital As Double, _
ByVal immobilienpreis As Double, _
fehler As Boolean)
Dim eigenkapitalquote As Double
fehler = False
eigenkapitalquote = (eigenkapital / immobilienpreis) * 100
If eigenkapitalquote < 30 Then
MsgBox ("Ihre Eigenkapitalquote " & eigenkapitalquote & _
"% ist zu niedrig!")
fehler = True
Exit Sub
End If
End Sub
Sub Monatliche_Belastung_berechnen(ByVal immobilienpreis As Double, _
ByVal eigenkapital As Double, _
ByVal zinsKlasse As Integer, _
monatlicheBelastung As Double)
Const tilgung As Double = 1
Dim aufzunehmenderBetrag As Double
Dim jahresBelastung As Double
Dim eigenkapitalquote As Double
aufzunehmenderBetrag = immobilienpreis - eigenkapital
jahresBelastung = (aufzunehmenderBetrag / 100) * (zinsKlasse + tilgung)
monatlicheBelastung = jahresBelastung / 12
End Sub
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 Lies_restliche_und_ueberpruefe_alle_Benutzereingaben(ByVal eingabe As String, _
immobilienpreis As Double, _
eigenkapital As Double, _
zinsKlasse As Integer, _
fehler As Boolean)
fehler = False
If Not IsNumeric(eingabe) Then
MsgBox ("Kaufpreis muß eine Zahl sein!")
fehler = True
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!")
fehler = True
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!")
fehler = True
Exit Sub
End If
zinsKlasse = CInt(eingabe)
End Sub
Sub fuehre_Berechnungen_durch(ByVal eigenkapital As Double, _
ByVal immobilienpreis As Double, _
ByVal zinsKlasse As Integer, _
monatlicheBelastung As Double, _
fehler As Boolean)
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
fehler = False
berechne_Eigenkapitalquote eigenkapital, immobilienpreis, fehler
If fehler Then
Exit Sub
End If
Select Case zinsKlasse
Case 1
Monatliche_Belastung_berechnen immobilienpreis, _
eigenkapital, zinsKlasse1, monatlicheBelastung
Case 2
Monatliche_Belastung_berechnen immobilienpreis, _
eigenkapital, zinsKlasse2, monatlicheBelastung
Case 3
Monatliche_Belastung_berechnen immobilienpreis, _
eigenkapital, zinsKlasse3, monatlicheBelastung
Case 4
Monatliche_Belastung_berechnen immobilienpreis, _
eigenkapital, zinsKlasse4, monatlicheBelastung
Case 5
Monatliche_Belastung_berechnen immobilienpreis, _
eigenkapital, zinsKlasse5, monatlicheBelastung
Case Else
MsgBox ("Sie haben eine falsche Zinsklasse eingegeben! " & _
"Zinsklasse muß kleiner gleich 5 sein!")
fehler = True
Exit Sub
End Select
End Sub