Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Msg- und InputBoxes kombinieren und nach Ergebnis verzweigen

Gruppe

MsgBox

Problem

Wie kann ich über eine Kombination von Msg- und InputBoxes in verschiedene Makros in Abhängigkeit von Eingaben verzweigen.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: basMain

Sub Eingeben()
   Dim var As Variant
   Dim sTitle As String, sEinheit As String
   Dim sAuswahl As String
   sTitle = "Auswahl Geschäftseinheit"
   sAuswahl = "VA,VG,VE"
   MsgBox "Achtung ohne Auswahl der Geschäftseinheit" & vbLf & _
      "kein Vertriebszuschlag i.d. Kalkulation!", vbOKOnly + _
      vbExclamation, sTitle
   Do Until var = vbOK
      sEinheit = UCase(InputBox("Bitte geben sie Ihre" & _
         "Geschäftseinheit an: (" & _
         sAuswahl & ")", "Geschäftseinheit"))
      If InStr(sAuswahl, sEinheit) Then
         Select Case sEinheit
            Case "VA", "VG", "VE"
               var = MsgBox("Sie haben " & sEinheit & " eingegeben", _
                  vbOKCancel + vbExclamation)
               If var = vbOK Then
                  Run "Kalk_" & sEinheit
               Else
                  MsgBox "Sie kommen zurück zur GE Auswahl !"
               End If
         End Select
      End If
   Loop
End Sub

Private Sub Kalk_VA()
   MsgBox "Kalk_VA gestartet..."
End Sub

Private Sub Kalk_VG()
   MsgBox "Kalk_VG gestartet..."
End Sub

Private Sub Kalk_VE()
   MsgBox "Kalk_VE gestartet..."
End Sub