Pulldown Menüs in Excel verknüpfen

Hallo!

Ich möchte in Excel gerne zwei Pulldown Menüs verknüpfen.

Beispiel:
Ein PulldownMenü zeigt die Auswahl Büro, Wohnzimmer und Küche.
> Ich habe also das Steuerelement Pulldownmenü und weise diesem einen Zellbereich zu der diese diese Elemente enthält.

Im zweiten Pulldownmenü sollen Dinge stehen, die Bezug zu den drei obigen Elementen haben.
Wie z.B. Schreibtisch, PC, Couch, Fernseher, Herd, Kühlschrank.

Wenn ich im ersten Pulldownmenü also z.B. Küche auswähle, möchte ich, dass im zweiten nur Herd und Kühlschrank zur Auswahl stehen.

Weiss jemand wie das geht?

Ein PulldownMenü zeigt die Auswahl Büro, Wohnzimmer und Küche.
> Ich habe also das Steuerelement Pulldownmenü und weise
diesem einen Zellbereich zu der diese diese Elemente enthält.
Im zweiten Pulldownmenü sollen Dinge stehen, die Bezug zu den
drei obigen Elementen haben.
Wie z.B. Schreibtisch, PC, Couch, Fernseher, Herd,
Kühlschrank.
Wenn ich im ersten Pulldownmenü also z.B. Küche auswähle,
möchte ich, dass im zweiten nur Herd und Kühlschrank zur
Auswahl stehen.

Hi Thomas,
was genau meinst du mit „Pulldownmenü“ ?
Gruß
Reinhard

Antwort unten
http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…

ähnliches Problem - gleiche Lösung…

Hi Reinhard!

Pull bzw. Dropdownmenüs sind doch die Menüs bei denen ich durch einen Klick auf diese eine Auswahlliste bekomme. Gehört zu den Steuerelementen in Excel.

Gruss
Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke! Andere Lösung möglich?

http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…

ähnliches Problem - gleiche Lösung…

Danke!
Hat geholfen. Ist zwar ein wenig umständlich (besonders weil ich 3 Menüs verknüpfen will), aber es geht.
Kennt vielleicht jemand noch eine andere Lösung?3

Gruss
Thomas

was genau meinst du mit „Pulldownmenü“ ?

Pull bzw. Dropdownmenüs sind doch die Menüs bei denen ich
durch einen Klick auf diese eine Auswahlliste bekomme. Gehört
zu den Steuerelementen in Excel.

Hi Thomas,

in der Formular-Symbolleiste sind Excel-Steuerelemente, in der Steuerelementtoolbox-Symbolleiste sind auch Excel-Steuerelemente, mit Daten—Gültigkeit kriegt man auch ein Pull- Dropdownfeld.

Insofern ist meine Nachfrage noch nihct beantwortet.
Gruß
Reinhard

Hi!
Ich meine die Formular-Symbolleiste. Die anderen sind ja für VBA ausgelegt oder?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Thomas!

Ich habe hier auch schon mal einen Artikel zu diesem Thema gepostet, da hab ich dem User eine Dynamische Liste empfohlen.

http://www.excelformeln.de/tips.html?welcher=84

Diese Liste besteht aus mehreren Dropdowns. Im ersten wählst du das Zimmer aus, dann kommt das Gerät und dann gegebenenfalls weitere Infos, die du auswählen willst.

Gruß Alex

in der Formular-Symbolleiste sind Excel-Steuerelemente, in der
Steuerelementtoolbox-Symbolleiste sind auch
Excel-Steuerelemente, mit Daten—Gültigkeit kriegt man auch
ein Pull- Dropdownfeld.

Ich meine die Formular-Symbolleiste. Die anderen sind ja für
VBA ausgelegt oder?

Hi Thomas,
die aus der Steuerelementtollbox sind ActiveX-Steuerelemente und haben/bieten halt mehr Vba-Möglichkeiten als die aus dem Formular.
Die aus Formular stammen aus XL5 Zeiten.

Ich habe eine Lösung für Kombinationsfelder aus der Steuerelemttollbox gebastelt. Nach Erstellung der Comboboxen oder nach Änderung in A von Tabelle3 muss das Makro „Einmalig“ einmalig *g ablaufen

Man braucht 2 davon in der Haupttabelle, weiterhin eine Datentabelle, hier Tabelle3.

Analog kann man beliebig viele Comboboxen „verketten“ allerdings kriegt man dann wegen der Begrenzung auf 256 Spalten Platzprobleme und muss die Datentabelle(n) anders aufbauen, ggfs mit benannten Bereichen arbeiten o.ä.

Aber das ist Auftragsproggrammierung…

Tabelle:
[Mappe2]!Tabelle3

 │ A │ B │ C │ D │ E │ 
──┼─────────────┼─────────────┼────────────┼────────────┼───────────┤
1 │ Land │ Deutschland │ England │ Frankreich │ Spanien │ 
2 │ Deutschland │ Aachen │ Birmingham │ Paris │ Almunecar │ 
3 │ England │ Berlin │ Bristol │ Marseille │ Barcelona │ 
4 │ Frankreich │ Hamburg │ London │ Toulouse │ Comillas │ 
5 │ Spanien │ München │ │ │ Malaga │ 
6 │ │ │ │ │ Madrid │ 
──┴─────────────┴─────────────┴────────────┴────────────┴───────────┘

Im Codebereich der Haupttabelle dann folgenden Code:

Option Explicit

Private Sub ComboBox1\_Change()
Dim Spa As Integer, Zei As Long
With Worksheets("Tabelle3")
 Spa = Application.WorksheetFunction.Match(ComboBox1.Value, .Range("A1:IV1"), 0)
 Zei = .Cells(65536, Spa).End(xlUp).Row
 ComboBox2.ListFillRange = .Name & "!" & Range(Cells(2, Spa), Cells(Zei, Spa)).Address
 ComboBox2.Value = ""
End With
End Sub

Sub Einmalig()
ComboBox1.ListFillRange = "Tabelle3!A2:A5"
End Sub

Gruß
Reinhard

Hi Alex!

Danke. Kannst du mir netterweise einaml die Formel in Zelle H2 erklären? Das wär super.
Hab die Daten nämlich anders aufgebaut. D.h. der Fahrzeugtyp ist in Spalte A und die Ausprägungen (A3, A4 etc) in der Spalten daneben.
Also:
A B
Opel Vectra
Opel Omega
BMW 5er
BMW 7er

etc.

Hast du dafür auch eine Lösung?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Thomas!

Danke. Kannst du mir netterweise einaml die Formel in Zelle H2
erklären? Das wär super.

=BEREICH.VERSCHIEBEN(A:E;1;VERGLEICH(H1;A1:E1;0)-1;ANZAHL2(INDEX(A:E;;VERGLEICH(H1;A1:E1;0)))-1;1)

Das erste Argument dieser Formel sind die Spalten. Die Vergleich-Formel sucht die passende Automarke (bzw. ihre Spaltennummer). Die weiteren Argumente suchen dann die Nummer des jeweiligen Autotyps. Mit der Index-Formel, die ähnlich wie ein SVerweis arbeitet, kannst du dann die Typenbezeichnung rausfinden.

Hab die Daten nämlich anders aufgebaut. D.h. der Fahrzeugtyp
ist in Spalte A und die Ausprägungen (A3, A4 etc) in der
Spalten daneben.
Also:
A B
Opel Vectra
Opel Omega
BMW 5er
BMW 7er

Bei dieser Struktur kann es nicht funktionieren, da der Index eindeutige Werte braucht. Wenn du aber die zweite Typenbezeichnung in die C-Spalte schreibst, geht folgende Formel:

=BEREICH.VERSCHIEBEN(A1:A4;VERGLEICH(B7;A1:A4;0)-1;1;1;ANZAHL2(INDEX(1:4;;VERGLEICH(B7;A1:A4;0)))-1)

Also: Spalte A - Automarken, Spalte B:X - Autotypen, dann funktioniert diese Formel.

Gruß Alex

Danke
Danke!