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

Forumthread: Dynamisches Drop-Down-Auswahlliste

Dynamisches Drop-Down-Auswahlliste
Tom
Hallo!
Ich habe folgendes Problem:
In der beiliegenden Beispieldatei besteht im Tabellenblatt "Auswahl" die Möglichkeit, in Zelle B4 ein Land auszuwählen.
Gleichzeitig soll aber in Abhängigkeit von dem in B4 ausgewählten Land die dazupassende Städte-Liste ausgewählt werden können (Zelle B6).
Weiters soll dabei eine bestimmte "Länge" dieser Städteliste, z. B. nur 2 Städte im Dropdown-Feld anzeigen, ausgewählt werden können (Zelle E1). D. h, je nach Eintrag in Zelle E1 soll die Dropdown-Auswahlliste in Zelle B6 dynamisch erweitert oder reduziert werden.
Die für die Auswahllisten benötigten Einträge sollen in einem separaten Tabellenblatt "Stammdaten" verwaltet werden können (also nicht im gleichen Tabellenblatt, in dem die Auswahl erfolgt).
Ich habs bereits mit einer Kombination aus "Indirekt" (unterschiedlicher Städtevorschlag je nach ausgewähltem Land) und Bereich.Verschieben (dynamischer Namensbereich) probiert, irgendwie scheint das aber nicht zu funktionieren.
Wäre super, wenn mir jemand weiterhelfen könnte (wenn möglich ohne VBA-Code)
https://www.herber.de/bbs/user/80051.xlsx
Vielen Dank!
Tom
Anzeige
AW: Dynamisches Drop-Down-Auswahlliste
05.05.2012 17:06:36
Tom
Hallo Hajo,
vielen Dank für die rasche Antwort.
Den Lösungsansatz mit "Indirekt" verwende ich bereits, das Problem ist allerdings, dass ich noch ein zusätzliches Kriterium, nämlich die Anzahl der vorgeschlagenen Einträge im Drop-Down-Feld variabel gestalten möchte.
Dies bedeutet, dass auch der Namensbereich variabel definiert werden muss, die Datenquelle dazu findet sich zudem in einem anderen Tabellenblatt (in der von dir angeführten Beispieldatei ist der Namensbereich fixiert und liegt auch noch im gleichen Tabellenblatt).
Normalerweise verwende ich in solchen Fälle die Formel "Bereich.Verschieben", wo ja Bezüge variabel vergrößert oder verkleinert werden können, nur scheint dies in Kombination mit "Indirekt" (in der Gültigkeitsprüfung) und unter Referenzierung auf ein anderes Tabellenblatt nicht zu funktionieren ...
Gruß
Tom
Anzeige
AW: dynamisch, ohne INDIREKT() und mit nur 2 NAMEN!
05.05.2012 19:04:30
Tom
Hallo Rene,
auch dir danke für dein Posting. Hab mir die Lösung mit Wahl(Vergleich...) angeschaut und nachkonstruiert, es würde zwar funktionieren, die Lösung ist aber nicht vollständig dynamisch, deswegen habe ich jetzt den Ansatz von Josef verwendet.
Vielen Dank und schöne Grüße
Tom
Anzeige
AW: Dynamisches Drop-Down-Auswahlliste
05.05.2012 18:20:21
Josef

Hallo Tom,
Tabelle1

 ABCDEFGHIJKLM
1          DeutschlandÖsterreichSchweiz
2          AugsburgGrazBasel
3 Land:Deutschland       BerlinInnsbruckBern
4 Stadt:Dortmund       BonnSalzburg 
5          DortmundWien 
6          Dresten  
7          Frankfurt  
8          Hamburg  
9             

Datengültigkeit der Tabelle
ZelleZulassenDatenEingabe 1Eingabe 2
C3Liste =_land 
C4Liste =_stadt 
Namen in Formeln
ZelleNameBezieht sich auf
C3_land=Tabelle1!$K$1:$M$1
C4_stadt=INDEX(Tabelle1!$K$2:$M$2;;VERGLEICH(Tabelle1!$C$3;Tabelle1!$K$1:$M$1;0)):INDEX(Tabelle1!$K:$M;ZÄHLENWENN(INDEX(Tabelle1!$K:$M;;VERGLEICH(Tabelle1!$C$3;Tabelle1!$K$1:$M$1;0));">""");VERGLEICH(Tabelle1!$C$3;Tabelle1!$K$1:$M$1;0))
Namen verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

« Gruß Sepp »

Anzeige
AW: Dynamisches Drop-Down-Auswahlliste
05.05.2012 19:02:43
Tom
Hallo Josef!
Vielen Dank für diese perfekte Lösung, jetzt funktionierts endlich, hat nur eine Weile gedauert, bis ich dein Beispiel nachbauen konnte :-).
Da war mein Ansatz mit Indirekt und Bereich.Verschieben wohl etwas falsch angesetzt ...
Vielen Dank nochmals und schöne Grüße
Tom
Anzeige
AW: Dynamisches Drop-Down-Auswahlliste
05.05.2012 19:21:23
Josef

Hallo Tom,
man kann es natürlich auch über INDIREKT() bzw. BEREICH.VERSCHIEBEN() lösen, allerdings sind das beide sehr Performance-fressende Funktionen (Stichwort Volatil), INDEX() ist mir da viel lieber.

« Gruß Sepp »

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dynamische Drop-Down-Auswahlliste in Excel erstellen


Schritt-für-Schritt-Anleitung

  1. Tabellenstruktur erstellen:

    • Erstelle zwei Tabellenblätter:
      • "Auswahl" für die Auswahl der Länder und Städte.
      • "Stammdaten" zur Verwaltung der Daten.
  2. Daten eingeben:

    • In "Stammdaten" trage in die erste Zeile die Länder ein (z.B. Deutschland, Österreich, Schweiz).
    • In den darunter liegenden Zeilen gib die entsprechenden Städte ein.
  3. Namensbereiche definieren:

    • Definiere einen dynamischen Namensbereich für die Städte. Gehe zu „Formeln“ > „Namensmanager“ und klicke auf „Neu“.
    • Gib einen Namen (z.B. _stadt) ein und verwende die folgende Formel:
      =INDEX(Stammdaten!$B$2:$D$10; 0; VERGLEICH(Auswahl!$B$4; Stammdaten!$B$1:$D$1; 0))
    • Diese Formel sorgt dafür, dass die Städte dynamisch angepasst werden, je nachdem, welches Land ausgewählt wurde.
  4. Datenüberprüfung einrichten:

    • Gehe in das Tabellenblatt "Auswahl" und wähle Zelle B4 (für das Land).
    • Klicke auf „Daten“ > „Datenüberprüfung“ und wähle „Liste“ aus.
    • Gib als Quelle =Stammdaten!$B$1:$D$1 ein.
  5. Dynamische Dropdown-Liste erstellen:

    • Wähle Zelle B6 (für die Stadt) und gehe erneut auf „Datenüberprüfung“.
    • Wähle „Liste“ und gib als Quelle =_stadt ein.
    • Damit hast du eine dynamische Dropdown-Liste, die sich je nach Auswahl des Landes anpasst.
  6. Anzeige der Anzahl der Einträge:

    • In Zelle E1 kannst du die Anzahl der angezeigten Städte festlegen.
    • Passe die INDEX-Formel in _stadt entsprechend an, um die Anzahl der angezeigten Städte zu berücksichtigen.

Häufige Fehler und Lösungen

  • Fehlerhafte Datenquelle:

    • Stelle sicher, dass die Datenquelle in der Datenüberprüfung korrekt eingegeben wurde. Überprüfe die Zellbezüge.
  • Dynamische Dropdown-Liste funktioniert nicht:

    • Überprüfe, ob die Namensbereiche korrekt definiert sind. Die Formel muss auf die richtigen Zellbereiche verweisen.
  • Formel nicht aktualisiert:

    • Manchmal kann es helfen, Excel zu schließen und neu zu starten, damit die Formeln neu berechnet werden.

Alternative Methoden

  • Verwendung von VBA:

    • Wenn du VBA verwenden möchtest, kannst du ein Makro erstellen, das die Dropdown-Listen basierend auf der Auswahl aktualisiert.
  • Benutzerdefinierte Funktionen:

    • Erstelle benutzerdefinierte Funktionen, um speziellere Anforderungen zu erfüllen, z.B. um die Dropdown-Liste auf andere Tabellenblätter zu erweitern.

Praktische Beispiele

  • Beispiel für eine dynamische Dropdown-Liste:

    • Wenn im Feld B4 „Deutschland“ ausgewählt wird, zeigt das Dropdown-Feld in B6 nur die Städte „Berlin“, „Dortmund“ und „Frankfurt“ an.
  • Einbindung in HTML:

    • Du kannst die Dropdown-Liste auch in eine HTML-Webseite einbetten, um eine dynamische Auswahlliste im Web zu erstellen.
<select>
  <option value="Deutschland">Deutschland</option>
  <option value="Österreich">Österreich</option>
</select>

Tipps für Profis

  • Verwende die Funktion BEREICH.VERSCHIEBEN:

    • Um die Dropdown-Liste dynamisch zu erweitern, ohne die Quelle manuell anpassen zu müssen, kannst du die Funktion BEREICH.VERSCHIEBEN nutzen.
  • Performance-Optimierung:

    • Vermeide die Verwendung von INDIREKT(), da diese Funktion die Performance beeinträchtigen kann. Nutze stattdessen INDEX() und VERGLEICH() wie in den obigen Beispielen.

FAQ: Häufige Fragen

1. Wie erstelle ich eine Dropdown-Liste in Excel?
Um eine Dropdown-Liste in Excel zu erstellen, gehe zu „Daten“ > „Datenüberprüfung“ und wähle „Liste“ aus, um die gewünschten Werte einzugeben.

2. Kann ich eine Dropdown-Liste aus einem anderen Tabellenblatt erstellen?
Ja, du kannst eine Dropdown-Liste aus einem anderen Tabellenblatt erstellen, indem du den Zellbereich des anderen Blattes als Quelle in der Datenüberprüfung angibst.

3. Wie kann ich die Dropdown-Liste dynamisch aktualisieren?
Durch die Verwendung von dynamischen Namensbereichen und den Funktionen INDEX() und VERGLEICH() kannst du die Dropdown-Liste automatisch aktualisieren, je nachdem, was im vorherigen Feld ausgewählt wurde.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige