Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Excel Dropdown If/ElseIf Msgbox

VBA Excel Dropdown If/ElseIf Msgbox
24.06.2022 22:29:40
Vivi
Hallo Zusammen,
ich habe in einem Makro-Sheet zwei Dropdowns mit Textinhalten, die ich im Makro mit If/ElseIf/Else kombinieren möchte. Es soll jeweils eine Messagebox ausgegeben werden.
Problem: Es wird nur immer die erste Auswahl des Dropdowns erkannt bzw. bei Kombinationen von beiden tut sich gar nichts.(Keine Fehlermeldung).
Vielen lieben Dank schon mal für eure Unterstützung!
Beispiel:
DropdownFirma
Firma1
Firma2
Firma3
Firma4
und
DropdownStadt
Stadt1
Stadt2
Stadt3
Dim Firma As String
Firma = ThisWorksbooks.Sheet ("Sheetname").Range("DropdownFirma").value
Dim Stadt As String
Stadt = ThisWorksbooks.Sheet ("Sheetname").Range("DropdownStadt").value
If Firma = "Firma1" Then
Run "msgbox Firma1"
ElseIf Firma = "Firma1" & Stadt = "Stadt3" Then
Run "msgbox_Event2"
ElseIf Firma = "Firma2" & Stadt "Stadt2" Then
Run "msgbox_Event5"
....
Else: Run "Bearbeitung_weiter"
End If
Viele Grüße, Vivi
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Excel Dropdown If/ElseIf Msgbox
24.06.2022 22:47:15
ralf_b
erklärst du uns wie du den Code startest?
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Excel Dropdown If/ElseIf Msgbox


Schritt-für-Schritt-Anleitung

Um ein Dropdown-Menü in Excel mit einer If/ElseIf Struktur zu verwenden und eine Messagebox auszugeben, folge diesen Schritten:

  1. Erstelle ein Dropdown-Menü: Gehe zu Daten > Datenüberprüfung und wähle Liste. Füge deine Einträge für DropdownFirma und DropdownStadt hinzu.

  2. Öffne den VBA-Editor: Drücke Alt + F11, um den VBA-Editor zu öffnen.

  3. Füge ein Modul hinzu: Klicke mit der rechten Maustaste auf VBAProject (DeineArbeitsmappe), wähle Einfügen und dann Modul.

  4. Schreibe den VBA-Code:

    Sub DropdownAuswahl()
       Dim Firma As String
       Dim Stadt As String
    
       Firma = ThisWorkbook.Sheets("Sheetname").Range("DropdownFirma").Value
       Stadt = ThisWorkbook.Sheets("Sheetname").Range("DropdownStadt").Value
    
       If Firma = "Firma1" Then
           MsgBox "Firma1 ausgewählt"
       ElseIf Firma = "Firma1" And Stadt = "Stadt3" Then
           MsgBox "Firma1 und Stadt3 ausgewählt"
       ElseIf Firma = "Firma2" And Stadt = "Stadt2" Then
           MsgBox "Firma2 und Stadt2 ausgewählt"
       Else
           MsgBox "Bearbeitung weiter"
       End If
    End Sub
  5. Führe das Makro aus: Kehre zu Excel zurück, drücke Alt + F8, wähle DropdownAuswahl und klicke auf Ausführen.


Häufige Fehler und Lösungen

Fehler 1: Die Dropdown-Auswahl wird nicht erkannt.

  • Lösung: Überprüfe, ob die Namen der Dropdowns korrekt in deinem VBA-Code sind. Achte auf die richtige Schreibweise und die Verwendung von ThisWorkbook.Sheets.

Fehler 2: Die Messagebox zeigt nicht die erwartete Ausgabe.

  • Lösung: Stelle sicher, dass die Bedingungen in deiner If/ElseIf-Struktur korrekt formuliert sind. Überprüfe auch, ob die Dropdown-Werte tatsächlich den erwarteten Werten entsprechen.

Alternative Methoden

Statt VBA kannst du auch Excel-Formeln verwenden, um ähnliche Ergebnisse zu erzielen. Eine Möglichkeit ist die Verwendung von WENN-Funktionen in Kombination mit den Dropdown-Werten. Beispiel:

=WENN(A1="Firma1";"Firma1 ausgewählt";WENN(UND(A1="Firma1";B1="Stadt3");"Firma1 und Stadt3 ausgewählt";"Bearbeitung weiter"))

Diese Methode ist einfacher, jedoch nicht so flexibel wie VBA für komplexe Logik.


Praktische Beispiele

Hier sind einige Beispiele, wie du die If/ElseIf-Struktur anpassen kannst:

  1. Zusätzliche Firmen und Städte:

    ElseIf Firma = "Firma3" And Stadt = "Stadt1" Then
       MsgBox "Firma3 und Stadt1 ausgewählt"
  2. Verwendung von MsgBox mit verschiedenen Schaltflächen:

    If MsgBox("Möchtest du fortfahren?", vbYesNo) = vbYes Then
       MsgBox "Du hast Ja gewählt"
    Else
       MsgBox "Du hast Nein gewählt"
    End If

Tipps für Profis

  • Nutze Select Case, wenn du mehrere Bedingungen prüfen musst. Dies kann den Code lesbarer machen.
  • Füge Fehlerbehandlungsroutinen hinzu, um unerwartete Fehler zu vermeiden, z.B.:
    On Error GoTo FehlerHandler
    ' Dein Code hier
    Exit Sub
    FehlerHandler:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Wie kann ich mehrere Dropdowns miteinander verknüpfen? Verwende die If-Bedingungen, um die Auswahl des ersten Dropdowns zu berücksichtigen, bevor du die Auswahl des zweiten Dropdowns prüfst.

2. Was ist der Unterschied zwischen MsgBox und MessageBox? In VBA wird MsgBox verwendet, um einfache Nachrichten anzuzeigen, während MessageBox eine Methode in anderen Programmiersprachen ist. In Excel-VBA nutzt du MsgBox für Meldungen.

3. Wie kann ich eine Messagebox mit Ja/Nein-Optionen erstellen? Verwende den Code:

If MsgBox("Möchtest du fortfahren?", vbYesNo) = vbYes Then
    ' Code für Ja
Else
    ' Code für Nein
End If

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige