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

Forumthread: ComboBox in Abhängigkeit einer anderen füllen

ComboBox in Abhängigkeit einer anderen füllen
24.04.2005 21:43:20
Dieter.K
Hallo Forum,
trotz intensiver Suche im Archiv habe ich leider nichts gefunden was mir wirklich weiter hilft.
Ich möchte eine zweite ComboBox in Abhängigkeit einer anderen mit Werten füllen.
In der ersten ComboBox stehen die Werte in A1:A3 (diese fülle ich mit RowSource). In der zweiten zu füllenden, stehen die Werte in B:G (mit der Abhängigkeit zur Zeile aus der ersten).
Profile
 ABCDEFG
1HEA-ProfilHEA-100HEA-120HEA-140HEA-160HEA-180HEA-200
2HEB-ProfilHEB-100HEB-120HEB-140HEB-160HEB-180HEB-200
3U-ProfilUNP-100UNP-120UNP-140UNP-160UNP-180UNP-200
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Ich habe mal eine Beispieldatei hochgeladen. Eventuell kann mir ja jemand auf die Sprünge helfen.
https://www.herber.de/bbs/user/21643.xls
Danke für Eure Bemühungen.
Dieter.K
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox in Abhängigkeit einer anderen füllen
24.04.2005 22:03:57
Klaus-Dieter
Hallo Dieter,
versuche es mal so:
Private Sub ComboBox1_Change() Dim arr As Variant arr = Range("B" & ComboBox1.ListIndex + 1, "G" & ComboBox1.ListIndex + 1) ComboBox2.List = arr End Sub
Gruß Klaus-Dieter

AW: ComboBox in Abhängigkeit einer anderen füllen
24.04.2005 22:20:57
Dieter.K
Hallo KLaus-Dieter,
Danke für Deine Hilfe! Leider bekomme ich in der zweiten ComboBox jedoch immer nur den Wert aus Spalte "B" angezeigt (ListRows sind auf 8 eingestellt).
Hast Du noch einen Tipp?
Danke
Dieter.K
Anzeige
AW: ComboBox in Abhängigkeit einer anderen füllen
24.04.2005 23:00:04
Klaus-Dieter
Hallo Dieter,
du mußt ColumnCount auf 6 stellen, dann geht das.
Gruß Klaus-Dieter

AW: ComboBox in Abhängigkeit einer anderen füllen
24.04.2005 23:15:37
Dieter.K
Hallo Klaus-Dieter!
Danke! Das funktioniert. Leider werden mir aber jetzt "logischerweise" die Einträge horizontal statt vertikal angezeigt. Ist ja auch logisch, ich hab vorher hierüber nicht richtig nachgedacht. Werde morgen weiterbasteln und melde mich dann noch einmal.
Danke
Gruß
Dieter.K
Anzeige
AW: ComboBox in Abhängigkeit einer anderen füllen
24.04.2005 22:43:53
Gunnar
Private Sub ComboBox1_Change() Dim arr As Variant arr = Range("B" & ComboBox1.ListIndex + 1 ":G" & ComboBox1.ListIndex + 1) ComboBox2.List = arr End Sub
mfg Gunnar
AW: ComboBox in Abhängigkeit einer anderen füllen
24.04.2005 22:57:30
Dieter.K
Hallo Gunnar,
Danke, aber das war es leider nicht. "Syntaxfehler"
Gruß
Dieter.K
AW: ComboBox in Abhängigkeit einer anderen füllen
24.04.2005 23:21:20
Gunnar
Hi, ein & vergessen:
arr = Range("B" & ComboBox1.ListIndex + 1 & ":G" & ComboBox1.ListIndex + 1)
mfg Gunnar
Anzeige
AW: ComboBox in Abhängigkeit einer anderen füllen
24.04.2005 23:32:26
Dieter.K
Hallo Gunnar,
auch Dir besten Dank. Funktioniert. Leider bekomme ich die Auswahl jetzt horizontal (eigentlich logisch, da ich ja Spalten und keine Zeilen einlese). Ich benötige die Auswahl aber vertikal. Probiere morgen mal weiter. Muß noch einige Angebote faxen.
Danke
Gruß
Dieter.K
Anzeige
AW: ComboBox in Abhängigkeit einer anderen füllen
24.04.2005 23:46:05
Gunnar
ComboBox2.Column = arr
mfg Gunnar
AW: ComboBox in Abhängigkeit einer anderen füllen
24.04.2005 23:57:57
Dieter.K
Hallo Gunnar!
Suuuuuuuuuuuuuuuuuuuper!! Danke!!
Jetzt kann ich morgen wirklich in Ruhe weitermachen.
Gruß
Dieter.K
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ComboBox in Abhängigkeit einer anderen füllen


Schritt-für-Schritt-Anleitung

Um eine ComboBox in Excel in Abhängigkeit von einer anderen zu füllen, kannst du die folgenden Schritte befolgen:

  1. Erstelle eine UserForm:

    • Öffne den VBA-Editor (Alt + F11).
    • Füge eine neue UserForm hinzu (Rechtsklick auf "VBAProject" > "Einfügen" > "UserForm").
  2. Füge ComboBoxen hinzu:

    • Ziehe zwei ComboBoxen aus der Toolbox auf die UserForm.
  3. Fülle die erste ComboBox:

    • Verwende die RowSource-Eigenschaft oder VBA, um die erste ComboBox mit Werten zu füllen. Beispiel:
      ComboBox1.RowSource = "A1:A3"
  4. Füge den VBA-Code zum Füllen der zweiten ComboBox hinzu:

    • Klicke auf die erste ComboBox und füge den folgenden Code in das Ereignis ComboBox1_Change() ein:
      Private Sub ComboBox1_Change()
       Dim arr As Variant
       arr = Range("B" & ComboBox1.ListIndex + 1 & ":G" & ComboBox1.ListIndex + 1)
       ComboBox2.List = arr
      End Sub
  5. Setze die ColumnCount-Eigenschaft:

    • Stelle sicher, dass die ColumnCount-Eigenschaft der zweiten ComboBox auf die Anzahl der Spalten gesetzt ist (in diesem Fall 6).
  6. Starte die UserForm:

    • Füge einen Button oder eine andere Möglichkeit hinzu, um die UserForm zu starten.

Häufige Fehler und Lösungen

  • Fehler: Nur der Wert aus Spalte B wird angezeigt:

    • Stelle sicher, dass ColumnCount auf die entsprechende Anzahl von Spalten gesetzt ist.
  • Fehler: Syntaxfehler im Code:

    • Vergewissere dich, dass du alle notwendigen Zeichen korrekt verwendet hast. Zum Beispiel:
      arr = Range("B" & ComboBox1.ListIndex + 1 & ":G" & ComboBox1.ListIndex + 1)
  • Problem: Auswahl wird horizontal angezeigt:

    • Um die Auswahl vertikal anzuzeigen, kannst du die Column-Eigenschaft der ComboBox verwenden:
      ComboBox2.Column = arr

Alternative Methoden

Wenn du die ComboBox in Abhängigkeit einer anderen ohne VBA füllen möchtest, kannst du die Data Validation-Funktion in Excel verwenden. Hierbei musst du die Werte manuell anpassen, je nachdem, welcher Wert in der ersten Dropdown-Liste ausgewählt ist.


Praktische Beispiele

Ein praktisches Beispiel für das Füllen von ComboBoxen könnte so aussehen:

  1. Voraussetzung: Du hast eine Tabelle mit den Profilen in Spalte A (HEA, HEB, U) und den entsprechenden Werten in den Spalten B bis G.

  2. VBA-Code:

    Private Sub ComboBox1_Change()
       Dim arr As Variant
       arr = Range("B" & ComboBox1.ListIndex + 1 & ":G" & ComboBox1.ListIndex + 1)
       ComboBox2.List = arr
       ComboBox2.ColumnCount = 6 ' Anzahl der Spalten
    End Sub

Tipps für Profis

  • Verwende Dynamic Arrays: Wenn du mit neueren Excel-Versionen arbeitest, kannst du dynamische Arrays nutzen, um die Werte in der zweiten ComboBox einfach zu aktualisieren.

  • Benutzerdefinierte UserForms: Optimiere das Aussehen deiner UserForm, indem du Labels und weitere Steuerelemente hinzufügst, um die Benutzererfahrung zu verbessern.

  • Ereignisse optimieren: Achte darauf, dass du die Ereignisse effizient nutzt, um die Leistung der UserForm zu verbessern.


FAQ: Häufige Fragen

1. Wie kann ich mehrere ComboBoxen in Abhängigkeit zueinander füllen?
Du kannst denselben Ansatz für jede ComboBox verwenden, indem du die entsprechenden Listen und Indizes anpasst.

2. Funktioniert das auch in Excel Online?
Die VBA-Funktionalität ist in Excel Online nicht verfügbar. Für Online-Versionen musst du auf alternative Methoden wie Data Validation zurückgreifen.

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