VBA IF-Auswahlschachteln.

Excelmania

Lieutenant
Registriert
Apr. 2010
Beiträge
825
Hi,

ich bekomme die if-schachtelung einfach nicht hin.

Könnte ihr mir helfen?

Code:
Sub bereichauswahl()
    If CB_OE_Auswahl.Text = "VB" Then
    MsgBox "Vorstandsbereich"
    Else
    If CB_OE_Auswahl.Text = "GB" Then
    MsgBox "Geschäftsbereich"
    Else
    If CB_OE_Auswahl.Text = "FD" Then
    MsgBox "FD"
    End If
End Sub
 
In VB wird Else If ohne Leerzeichen geschrieben, also ElseIf. Alternativ kannst du auch drei einzelne If-Anweisungen verwenden, denn du musst diese drei Optionen nicht unbedingt miteinander verbinden.
 
Excelmania, dein versuch war aber auch nicht schlecht, du müsstest nur 3x EndIf schreiben. Aber die Lösung in der ersten Antwort ist theo. besser.
 
Betreffend danieljena

Das Beispiel ist so einfach gestrickt, dass man If … Then einfach in eine Zeile tut (bestenfalls mit dem _ auf 2 Zeilen optisch verteilt), das spart dann jeweils das End If.

Ansonsten stimme ich Hinagiku zu, dass das ein Paradebeispiel für Select Case ist.
Code:
Sub bereichauswahl()
 Select Case CB_OE_Auswahl.Text
  Case "VB"
   MsgBox "Vorstandsbereich"
  Case "GB" 
   MsgBox "Geschäftsbereich"
  Case "FD" Then
   MsgBox "FD"
  Case Else
   MsgBox "Den Wert " & CB_OE_Auswahl.Text & " kenne ich nicht."
 End Select
End Sub

If-und-EsleIf-Ketten sind nie mein Freund gewesen, dito eine If-Serie wenn ich immer nur einen Wert prüfe und bediene.

CN8
 
Zuletzt bearbeitet: (MscBox gibbet nit.)
Zurück
Oben