Option Explicit
Sub provisionMitFunktionen()
' Programm berechnet Provisionen abhängig vom Umsatz
' Dateiname: provisionMitFunktionen
Dim umsatz As Double
Dim verkaufsbetrag As Double
Dim auszuzahlendeProvision As Double
Dim eingabe As String
' Gib Programmbeschreibung aus
MsgBox ("Geben Sie Umsatz und Verkaufsbetrag ein!" _
& Chr$(13) & "Das Programm berechnet die" _
& " Provision des Vermittlers! Sie beenden das" _
& " Programm durch die Eingabe von: beenden!")
' Lies Umsatz ein
eingabe = InputBox("Geben Sie nun den Umsatz des Kunden ein!")
Do While eingabe <> "beenden"
If Not Lies_und_ueberpruefe_Benutzereingaben(eingabe, _
umsatz, _
verkaufsbetrag) Then Exit Sub
auszuzahlendeProvision = berechne_Provision(umsatz, verkaufsbetrag)
' Gib das Ergebnis aus
MsgBox ("Die Provision für dieses Geschäft ist: " _
& auszuzahlendeProvision & " DM")
' Lies Umsatz ein
eingabe = InputBox("Geben Sie nun den Umsatz des Kunden ein!")
Loop
End Sub
Function Lies_und_ueberpruefe_Benutzereingaben(ByVal eingabe As String, umsatz As Double, _
verkaufsbetrag As Double) As Boolean
Lies_und_ueberpruefe_Benutzereingaben = True
If Not wandle_in_Double_um(eingabe, umsatz) Then
Lies_und_ueberpruefe_Benutzereingaben = False
Exit Function
End If
eingabe = InputBox("Geben Sie nun den Verkaufsbetrag ein!")
If Not wandle_in_Double_um(eingabe, verkaufsbetrag) Then
Lies_und_ueberpruefe_Benutzereingaben = False
Exit Function
End If
If verkaufsbetrag > umsatz Then
MsgBox ("Umsatz muß größer gleich Verkaufsbetrag sein!")
Lies_und_ueberpruefe_Benutzereingaben = False
Exit Function
End If
End Function
Function berechne_Provision(ByVal umsatz As Double, _
ByVal verkaufsbetrag As Double) _
As Double
Dim provisionInProzent As Double
' Umsatzgrenzen sind DM-Betraege
Const umsatzGrenze1 As Double = 100000
Const umsatzGrenze2 As Double = 500000
Const umsatzGrenze3 As Double = 1000000
' Provisionen in Prozent
Const provisionUmsatzGrenze1 As Double = 5
Const provisionUmsatzGrenze2 As Double = 10
Const provisionUmsatzGrenze3 As Double = 20
' Bestimme Provision
If umsatz >= umsatzGrenze3 Then
provisionInProzent = provisionUmsatzGrenze3
ElseIf umsatz >= umsatzGrenze2 Then
provisionInProzent = provisionUmsatzGrenze2
ElseIf umsatz >= umsatzGrenze1 Then
provisionInProzent = provisionUmsatzGrenze1
Else
provisionInProzent = 0
End If
' Berechne die Provision
berechne_Provision = (verkaufsbetrag * provisionInProzent) / 100
End Function