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

Forumthread: Combobox Ein- und Ausblenden

Combobox Ein- und Ausblenden
15.11.2016 14:14:16
Karo
Hallo Zusammen,
habe folgende Frage:
ich habe eine combobox (Activex-Steuerelemt) mit der ich eine Auswahl treffen kann. Je nachdem _ welche Auswahl getroffen worden ist werden Zellen mit einer neuen Combobox ein- bzw. ausgeblendet. Das Makro ist wie folgt geschrieben:

Sub StartAbfrageAuswahl()
If Tabelle4.ComboBox1.Value = "Apfel" Then
Rows("9:14").Hidden = True
Rows("6:8").Hidden = False
Tabelle4.ComboBox2.Visible = True
Tabelle4.ComboBox3.Visible = False
Tabelle4.ComboBox4.Visible = False
ElseIf Tabelle4.ComboBox1.Value = "Birne" Then
Rows("6:8").Hidden = True
Rows("12:14").Hidden = True
Rows("9:11").Hidden = False
Tabelle4.ComboBox2.Visible = False
Tabelle4.ComboBox3.Visible = True
Tabelle4.ComboBox4.Visible = False
ElseIf Tabelle4.ComboBox1.Value = "Eier" Then
Rows("6:11").Hidden = True
Rows("12:15").Hidden = False
Tabelle4.ComboBox2.Visible = False
Tabelle4.ComboBox3.Visible = False
Tabelle4.ComboBox4.Visible = True
End If
End Sub

Meine Frage:
Soweit funktioniert das Makro. Daher Zeilen und Comoboxen werden aus- bzw. eingeblendet. Allerdings habe ich vor noch mehr Comoboxen mit Auswahlmöglichkeiten zu erstellen. Daher meine Frage ob man das Makro vereinfachen (Auf Tabelle4.ComboBox2.Visible = False usw. verzichten) kann? Ich habe hier im Forum gelesen, dass man über die Eigenschaft des Steuerelements "Zelle unabhängig" die Comoboxen auch ausblenden kann. Somit würde sich der Befehl „Tabelle4.ComboBox2.Visible = False“ erübrigen. Allerdings funktioniert das bei mir nicht. Was mache ich falsch?
Ein ganz großer Dank im Voraus!!!
Viele Grüße
Karolina
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox Ein- und Ausblenden
15.11.2016 19:35:06
Ur-Opa
Hallo Karolina,
unter der Annahme, dass neben der ComboBox1 nur eine einzige weitere Combobox verwendet
werden soll, kann man auch mit nur 2 ComboBoxen arbeiten.
Je nach Auswahl in Combobox1 könnte man Combobox2 auch aus einem versteckten Worksheet
befüllen.
Damit erspart man es sich, die Eigenschaften einer Vielzahl von ComboBoxen verwalten zu müssen.
"ComboBox2_Change()" wird allerdings entsprechend aufwendiger.
In der Beispiel-Datei habe ich das innerhalb einer User-Form abgebildet.
Die Einträge sind im Blatt "Parameter" in den benannten Bereichen "Combo1", "Combo21" etc.
abgelegt.
Hinweis: statt einer Serie von "If - ElseIf "- Anweisungen habe ich "Select Case"- Blöcke
eingesetzt.
Damit kann man am Ende per "Case Else" eine Fehlerbehandlung definieren.
https://www.herber.de/bbs/user/109451.xlsm
Vielleicht hilft's ja
Viel Erfolg
Ur-Opa
Anzeige
AW: Combobox Ein- und Ausblenden
16.11.2016 09:29:49
Karolina
Hallo Ur-Opa,
vielen vielen Dank für deine Antwort. Die Lösung ist sehr interessant die du mir dargestellt hast. Nur leider muss ich mehr als zwei Comoboxen darstellen. Ebenso sollen neben den Comoboxen ein Eingabefeld erscheinen wo Werte eingebeben werden können (die zur weiteren Berechnung genutzt werden), somit wollte ich die Comoboxen in der Tabelle darstellen (damit der Nutzer die Werte eingeben kann). Ich habe mal die Excel als Anlage beigefügt.
Bei meiner Lösung habe ich nämlich auch das Problem dass sich die Comoboxen nach dem abspeichern immer verschieben. Vielleicht fällt dir hierzu eine Lösung oder eine andere sinnvollere Variante ein :)
Danke :)
https://www.herber.de/bbs/user/109457.xlsm
Viele Grüße
Karolina
Anzeige
AW: Combobox Ein- und Ausblenden
16.11.2016 16:56:01
Ur-Opa
Hallo Karolina,
eine Möglichkeit (fast) ohne VBA wäre es, die Datenüberprüfung einzusetzen.
Damit würden für die Zellen automatisch Comboboxen zur Auswahl der Einträge angezeigt.
Die zulässigen Einträge pro Zelle kann man in einem separaten Arbeitsblatt speichern und bei
der Datenüberprüfung die entsprechenden Listen ansteuern.
Ich denke, diese Stammdaten sind auch in Zukunft einfacher zu pflegen.
Ur-Opa
Anzeige
AW: Combobox Ein- und Ausblenden
16.11.2016 16:58:53
Karolina
Hallo Ur-Opa,
vielen Dank für die Antwort. Hast du vielleicht ein Beispiel? Hab leider nichts verstanden ;(
viele Grüße
Karolina
AW: Combobox Ein- und Ausblenden
17.11.2016 22:23:05
Ur-Opa
Hallo Karolina,
sorry, meine Antwort war etwas sehr fachchinesisch.
Unter dem Tab "Daten" gibt es den Punkt "Datenüberprüfung".
Damit kann man die zulässigen Einträge für einzelne Zellen und Bereiche festlegen bzw. verproben.
Die Menüeinträge in der beiliegenden Datei nutzen diese Möglichkeit.
Dann werden die Eigenschaften der Unter-Auswahlen über ein Ereignis-Makro verwaltet.
https://www.herber.de/bbs/user/109525.xlsm
(Mit der Zeile "if not intersect(...) is nothing then" wird geprüft, ob die Subroutine über eine Änderung in Zelle B3 angetriggert worden ist)
Viel Erfolg
Ur-Opa
Anzeige
AW: Combobox Ein- und Ausblenden
18.11.2016 19:04:47
Karolina
Hallo Ur-Opa,
nicht schlecht.... das ist eine super alternative
vielen vielen Dank:)
Viele Grüße
Karolina
;

Forumthreads zu verwandten Themen

Anzeige
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 Ein- und Ausblenden in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Arbeitsblatt oder öffne dein bestehendes Dokument mit der ComboBox.

  2. Füge eine ComboBox hinzu: Gehe zu "Entwicklertools" > "Einfügen" und wähle die ActiveX-ComboBox aus.

  3. Benenne die ComboBox: Klicke mit der rechten Maustaste auf die ComboBox und wähle "Eigenschaften". Ändere den Namen, z.B. ComboBox1.

  4. Füge das Makro hinzu: Öffne den VBA-Editor (Alt + F11) und füge das folgende Makro in das entsprechende Arbeitsblatt ein:

    Sub StartAbfrageAuswahl()
       If Tabelle4.ComboBox1.Value = "Apfel" Then
           Rows("9:14").Hidden = True
           Rows("6:8").Hidden = False
           Tabelle4.ComboBox2.Visible = True
           Tabelle4.ComboBox3.Visible = False
           Tabelle4.ComboBox4.Visible = False
       ElseIf Tabelle4.ComboBox1.Value = "Birne" Then
           Rows("6:8").Hidden = True
           Rows("12:14").Hidden = True
           Rows("9:11").Hidden = False
           Tabelle4.ComboBox2.Visible = False
           Tabelle4.ComboBox3.Visible = True
           Tabelle4.ComboBox4.Visible = False
       ElseIf Tabelle4.ComboBox1.Value = "Eier" Then
           Rows("6:11").Hidden = True
           Rows("12:15").Hidden = False
           Tabelle4.ComboBox2.Visible = False
           Tabelle4.ComboBox3.Visible = False
           Tabelle4.ComboBox4.Visible = True
       End If
    End Sub
  5. Teste das Makro: Wähle verschiedene Optionen in ComboBox1 aus und überprüfe, ob die entsprechenden Zeilen und ComboBoxen ein- oder ausgeblendet werden.


Häufige Fehler und Lösungen

  • Fehler: ComboBox wird nicht ausgeblendet

    • Überprüfe die Sichtbarkeit der ComboBoxen im VBA-Code. Stelle sicher, dass Visible korrekt gesetzt ist.
  • Fehler: Zeilen blenden sich nicht aus

    • Stelle sicher, dass die Zeilen korrekt referenziert sind. Überprüfe die Zeilennummern im Code.
  • Fehler: Makro funktioniert nicht

    • Überprüfe, ob Makros in deiner Excel-Version aktiviert sind. Gehe zu "Datei" > "Optionen" > "Trust Center" und aktiviere die Makros.

Alternative Methoden

Eine fast makrofrei Lösung ist die Verwendung der Datenüberprüfung. Damit kannst Du für bestimmte Zellen Dropdown-Listen erstellen:

  1. Wähle die Zelle aus, die die Auswahl enthalten soll.
  2. Gehe zu "Daten" > "Datenüberprüfung".
  3. Wähle "Liste" und gebe die möglichen Werte ein oder verlinke auf einen Bereich in einem anderen Blatt.
  4. Diese Methode reduziert die Notwendigkeit, mehrere ComboBoxen zu verwalten.

Praktische Beispiele

  • Beispiel 1: Du hast mehrere Produkte (Apfel, Birne, Eier) in ComboBox1 und möchtest, dass bei Auswahl eines Produkts die entsprechenden Eingabefelder sichtbar werden.

  • Beispiel 2: Verwende eine separate Tabelle für die Auswahlmöglichkeiten in der ComboBox. So kannst Du die Einträge einfacher verwalten, ohne den VBA-Code ständig anpassen zu müssen.


Tipps für Profis

  • Nutze Select Case anstelle von If - ElseIf, um den Code leserlicher zu gestalten, besonders wenn Du viele Auswahlmöglichkeiten hast.
  • Halte Deine ComboBoxen und Makros gut dokumentiert, damit Du bei Änderungen schnell den Überblick behältst.
  • Wenn Du mit vielen ComboBoxen arbeitest, ziehe in Betracht, die Sichtbarkeit mithilfe von Formularsteuerelementen zu steuern, um die Verwaltung zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich mehrere ComboBoxen gleichzeitig steuern?
Du kannst die Sichtbarkeit der ComboBoxen in einem zentralen Makro steuern, indem Du die Visible-Eigenschaft für jede ComboBox definierst.

2. Funktioniert dies auch in Excel Online?
Leider sind ActiveX-Elemente nicht in Excel Online verfügbar. Du benötigst die Desktop-Version von Excel.

3. Wie kann ich sicherstellen, dass die ComboBoxen sich nicht verschieben?
Du kannst die ComboBoxen an festen Zellpositionen verankern. Gehe zu den Design-Eigenschaften und setze die Eigenschaft "Zelle unabhängig" auf "Falsch".

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