Option Explicit
Sub provisionMitDoWhile()
' Programm berechnet Provisionen abhängig
' vom Umsatz
Dim umsatz
Dim verkaufsbetrag
Dim provisionInProzent As Double
Dim auszuzahlendeProvision As Double
Dim eingabe As String
' 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
' 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"
' Lies und ueberpruefe die Benutzereingaben
If Not IsNumeric(eingabe) Then
MsgBox ("Umsatz muß eine Zahl sein!")
Exit Sub
End If
umsatz = CDbl(eingabe)
eingabe = InputBox("Geben Sie nun den Verkaufsbetrag ein!")
If Not IsNumeric(eingabe) Then
MsgBox ("Verkaufsbetrag muß eine Zahl sein!")
Exit Sub
End If
verkaufsbetrag = CDbl(eingabe)
If verkaufsbetrag > umsatz Then
MsgBox ("Umsatz muß größer gleich Verkaufsbetrag sein!")
Exit Sub
End If
' 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 dir Provision
auszuzahlendeProvision = (verkaufsbetrag * provisionInProzent) / 100
' 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