Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ComboBox mit Select case verbinden

ComboBox mit Select case verbinden
08.10.2015 11:18:51
Stefan
Hallo,
ich habe folgendes Problem an dem ich verzweifel.
Ich habe eine Combobox mit verschiedenen Städtenamen (Stadt A, Stadt B, etc)
Nun möchte ich, dass bei Auswahl eines Namen bestimmte Zeilen gelöscht werden.
Hab mich mal daran gemacht:

Private Sub Combobox1_Change()
Select Case ComboBox1.Value
Case "Stadt A"
Rows("15:16").Select
Selection.EntireRow.Hidden = True
End Select
End Sub

Was mach ich nur falsch?!?!?

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox mit Select case verbinden
08.10.2015 12:03:12
Daniel
Hi
.Hidden blendet nur aus
zum löschen .Delete verwenden.
Gruß Daniel

AW: ComboBox mit Select case verbinden
08.10.2015 12:40:43
Stefan
Danke Daniel für die schnelle Antwort.
Es ist jedoch egal ob ich "delete" oder "hide", das Makro wird gar nicht erst ausgeführt. Ich kann also so oft ich will die Daten der Dropbox ändern, es tut sich nix! :(

Anzeige
AW: ComboBox mit Select case verbinden
08.10.2015 12:54:35
Daniel
Hi
dann solltest du mal klären, was du überhaupt verwendest.
DropBoxen kennt Excel in mindests 3 Varianten:
- Klappliste der Datenüberprüfung
- Formularsteuerelement
- ActiveX-Steuerelement
dein Vorhaben würde so nur mit dem ActiveX-Steuerelementen funktionieren.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

ComboBox mit Select Case verbinden in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine ComboBox in Excel mit einem Select Case zu verbinden, befolge diese Schritte:

  1. Erstelle eine ComboBox:

    • Gehe zu Entwicklertools > Einfügen und wähle eine ActiveX-ComboBox aus.
  2. Füge den VBA-Code hinzu:

    • Klicke mit der rechten Maustaste auf die ComboBox und wähle Code anzeigen.
    • Füge den folgenden Code ein:
    Private Sub ComboBox1_Change()
       Select Case ComboBox1.Value
           Case "Stadt A"
               Rows("15:16").Delete
           Case "Stadt B"
               Rows("17:18").Delete
           ' Füge weitere Städte hier hinzu
           Case Else
               MsgBox "Bitte wähle eine gültige Stadt."
       End Select
    End Sub
  3. Testen:

    • Schließe den VBA-Editor und kehre zu Excel zurück.
    • Wähle eine Stadt aus der ComboBox aus, um die entsprechenden Zeilen zu löschen.

Häufige Fehler und Lösungen

  • Das Makro wird nicht ausgeführt:

    • Stelle sicher, dass du eine ActiveX-ComboBox verwendest, da der Code nur mit dieser Form funktioniert.
  • Zeilen werden ausgeblendet, anstatt gelöscht:

    • Achte darauf, dass du .Delete verwendest, nicht .Hidden.
  • ComboBox zeigt keine Optionen:

    • Überprüfe, ob die ComboBox korrekt mit den Städtenamen gefüllt ist. Du kannst die List-Eigenschaft im VBA-Editor setzen.

Alternative Methoden

Falls du keine ActiveX-ComboBox verwenden möchtest, kannst du auch die Datenüberprüfung nutzen:

  1. Erstelle eine Dropdown-Liste:

    • Wähle eine Zelle aus und gehe zu Daten > Datenüberprüfung.
    • Wähle "Liste" und gib die Städte ein.
  2. Verwende VBA mit einer Worksheet-Change-Ereignisprozedur:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Range("A1")) Is Nothing Then ' A1 ist die Zelle mit der Dropdown-Liste
           Select Case Target.Value
               Case "Stadt A"
                   Rows("15:16").Delete
               ' Weitere Städte hier hinzufügen
           End Select
       End If
    End Sub

Praktische Beispiele

Hier ist ein Beispiel, das zeigt, wie man mehrere Städte in einer ComboBox behandelt:

Private Sub ComboBox1_Change()
    Select Case ComboBox1.Value
        Case "Stadt A"
            Rows("15:16").Delete
        Case "Stadt B"
            Rows("17:18").Delete
        Case "Stadt C"
            Rows("19:20").Delete
        Case Else
            MsgBox "Bitte wähle eine gültige Stadt."
    End Select
End Sub

Durch die Verwendung von Select Case kannst du die Logik einfacher und übersichtlicher gestalten, was besonders nützlich ist, wenn du viele Optionen hast.


Tipps für Profis

  • Verwende Option Explicit: Dies zwingt dich dazu, alle Variablen zu deklarieren, was Fehler minimiert.
  • Fehlerbehandlung einfügen: Nutze On Error Resume Next, um Fehler abzufangen, die auftreten könnten, wenn eine Zeile nicht existiert.
  • Erstelle dynamische Listen: Fülle die ComboBox dynamisch mithilfe von Arrays oder Bereichen, um die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich die ComboBox mit einer Zelle verknüpfen?
Du kannst die LinkedCell-Eigenschaft der ComboBox verwenden, um die Auswahl in einer Zelle anzuzeigen.

2. Was mache ich, wenn ich mehrere Zeilen löschen möchte?
Verwende die .Delete-Methode für die gewünschten Zeilen. Du kannst auch eine Schleife verwenden, um eine Vielzahl von Zeilen basierend auf der Auswahl zu löschen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige