Option Explicit
Sub provision3MitCaseSelect()
' Programm berechnet Provisionen abhängig
' vom Umsatz
' Dateiname: provision3MitCaseSelect
Dim umsatz
Dim verkaufsbetrag
Dim provisionInProzent As Double
Dim auszuzahlendeProvision 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

' Gib Programmbeschreibung aus
MsgBox ("Geben Sie Umsatz und Verkaufsbetrag ein!" _
        & Chr$(13) & "Das Programm berechnet die" _
        & " Provision des Vermittlers!")

' Lies die Benutzereingaben ein
umsatz = InputBox("Geben Sie nun den Umsatz des Kunden ein!")
verkaufsbetrag = InputBox("Geben Sie nun den Verkaufsbetrag ein!")
' ueberpruefe Benutzereingaben
If Not IsNumeric(umsatz) Or Not IsNumeric(verkaufsbetrag) Then
    MsgBox ("Umsatz und Verkaufsbetrag müssen Zahlen sein!")
    
Exit Sub
End If

'sicherstellen, dass Benutzereingaben als Double
'interpretiert werden
umsatz = CDbl(umsatz)
verkaufsbetrag = 
CDbl(verkaufsbetrag)

If verkaufsbetrag > umsatz Then
    MsgBox ("Umsatz muß größer gleich Verkaufsbetrag sein!")
    
Exit Sub
End If

' bestimme Provision
Select Case umsatz
    
Case Is >= umsatzGrenze3
        provisionInProzent = provisionUmsatzGrenze3
    
Case Is >= umsatzGrenze2
        provisionInProzent = provisionUmsatzGrenze2
    
Case Is >= umsatzGrenze1
        provisionInProzent = provisionUmsatzGrenze1
    
Case Else
        provisionInProzent = 0
End Select

' Berechne dir Provision
auszuzahlendeProvision = (verkaufsbetrag * provisionInProzent) / 100

' Gib das Ergebnis aus
MsgBox ("Die Provision für dieses Geschäft ist: " _
        & auszuzahlendeProvision & " DM")
End Sub