none
Wie werden abhängige Dropdownlisten vervielfältigt (Excel 2013) RRS feed

  • Frage

  • Hi,

    angenommen ich habe eine abhängige Dropdownliste für Autotypen. Wenn z.B. in Zelle A1 der Basiswert "Opel" steht, kann ich durch eine abhängige Dropdownliste in Zelle B1 die Eingabe von "Vectra", "Corsa", "Astra" usw. erzwingen. Wenn z.B. in A2 "Volvo" steht, dann wäre für Zelle B2 z.B. nur "V40", "V50", "V60" usw. erlaubt. Dies alles ist kein Problem. Die Autotypen habe ich in einer Exceltabelle sauber hergerichtet. Das Anlegen der abhängigen Dropdownliste in B1 und B2 geht über Daten, Datenprüfung und die Festlegung entsprechender Gültigkeitskriterien, wobei ich im Feld "Quelle" einen dynamischen Bereich vereinbare (via "=BEREICH.VERSCHIEBEN..."), der die Bezugszelle als Parameter erfordert (hier A1 und A2). Nun möchte ich diese Logik für 10.000 Zeilen implementieren. Wie kann ich das, was ich für B1 und B2 gemacht habe, in die übrigen Zellen kopieren?

    Kopieren an sich geht schon mal nicht.

    Dann hab ichs mit einem Marko probiert, in der Annahme, wenn ich aufzeichne, was ich in B1 mache, kann ich das leicht modifiziert bis B10000 wieder abspielen. Das geht nicht. Das aufgezeichnete Makro kann nicht einmal unverändert wieder abgespielt werden. Es kommt zum Laufzeitfehler '1004': Anwendungs- oder definierter Fehler.

    Hat jemand eine Idee zur Lösung des Problems?

    Besten Dank schon mal

    Franz

    Dienstag, 4. August 2015 22:49

Alle Antworten

  • Hallo Franz,

    ich habe das Problem nicht ganz verstanden, aber ich probiere es trotzdem mal. Hast du mal versucht die Zellen auf die du die dynamische Datenprüfung anwenden willst im Vorfeld zu markieren und danach die Datenprüfung einzurichten? Ansonsten klappt es nicht mit dem automatischen Ausfüllen ("Ausfüllkästchen") ?

    Gruß

    Mittwoch, 5. August 2015 06:03
  • Hallo,

    ja, ich habe die Zelle markiert.

    Ich mache folgendes:

    1. In Zelle A1 trage ich "Opel" ein und markieren der Zelle B1

    2. Aufruf des Datenüberprüfungdialogs (Menü "Daten / Datenüberprüfung / Reiter Einstellungen")

    3. Eingabe folgender Daten: Zulassen: "Liste", Quelle: "=BEREICH.VERSCHIEBEN(Autotyp!A:C..." (Leere Zellen ignorieren und Zellendropdown lasse ich angehakt)

    4. Button OK schließt den Dialog.

    Zelle B1 ist jetzt eine Dropdownlist, die genau die passenden Opel-Autotypen enthält.

    Das ganze wiederhole ich für die zweite Zeile. Hier trage ich in A2 beispielsweise "Volvo" ein. Dann markiere ich die Zelle B2 und wiederhole exakt die o.g. Schritte mit einer kleinen Ausnahme: der Quelle-String enthält jetzt nicht die Bezugszelle A1 sondern A2 (ich habe den String mal unten hingeschrieben). Zelle B2 ist daraufhin eine Dropdownliste die genau die passenden Volvo-Datentypen enthält. Und so weiter. Diese Dropdownliste will ich jetzt für beliebig viele Zeilen meiner Exceltabelle einrichten, so dass der Benutzer in Spalte A irgendwo eine Automarke eintragen kann und in Spalte B daneben eine Auswahlbox mit den passenen Typen erscheint.

    Automatisches Ausfüllen geht nicht. Ich kann B1 oder B2 zwar nach unten ziehen, es erscheint auch ein Dropdownlist-Symbol, nur aufklappen kann man nix.

    Bye

    Franz

    PS:
    So sieht der Quelle-String aus:

    =BEREICH.VERSCHIEBEN(Autotyp!A:C;1;VERGLEICH(A2;Autotyp!A1:C1;0)-1;ANZAHL2(INDEX(Autotyp!A:C;;VERGLEICH(A2;Autotyp!A1:C1;0)))-1;1)

    Ich habe dazu in der Excelmappe für die Autotypen eine eigene Tabelle eingerichtet.

    Mittwoch, 5. August 2015 06:39
  • Hallo Franz,

    ich meine mit Zellen markieren "A1:B10000" und dann die Datenüberprüfung anwenden. Schau mal wie es hier und hier gemacht wird.

    Hoffe es hilft

    Mittwoch, 5. August 2015 08:59
  • Hi,

    vielen Dank für die Links, ich habe mir das angeschaut und ausprobiert. Leider hilft es nicht weiter, da zwar sehr ausführlich beschrieben wird, wie eine dynamischen Dropdownliste (DDL) angelegt wird, was aber nicht mein Problem ist. Ich möchte eine bereits vorhandene dynamische DDL vervielfältigen. D.h. ich möchte wenn ich für B2 eine dynamische DDL angelegt habe, diese nach B3, B4, B5 ... bis B10000 kopieren, vervielfältigen, ausfüllen oder wie auch immer. Die Frage ist, wie macht man das?

    Ich habe hier eine kleine Exceltabelle mit drei Automarken hochgeladen:

    http://www.file-upload.net/download-10819373/test_dropdownlist.xlsx.html

    Gesucht ist der Inhalt für Zelle B4, B5 usw. im Blatt "Tabelle1".

    Vielen Dank schon mal

    Franz

    Mittwoch, 5. August 2015 09:58
  • Hi,

    ich habs. Das Problem sitzt wieder mal vorm Bildschirm. Der Quell-String ist falsch. Man muß mit $-Zeichen die Bezugsfelder "festhalten". Dann kann man eine Dropdownlist beliebig in andere Felder kopieren und sie verhält sich dort auch korrekt.

    Bye

    Franz

    • Als Antwort vorgeschlagen vhirsch Mittwoch, 5. August 2015 11:57
    Mittwoch, 5. August 2015 10:26
  • Hi Franz,

    ggf. bist Du auch an sowas interessiert:

    https://dl.dropboxusercontent.com/u/35239054/Cascade%20ComboBox.xls

    Andreas.

    Mittwoch, 5. August 2015 10:31
  • Hallo Andreas,

    das ist sehr interessant, ich wußte gar nicht, dass so etwas geht.
    Vielen Dank für die Info.

    Ich mußte mein beschriebenes Problem jedoch ohne VBA lösen.

    Viele Grüße

    Franz

    Mittwoch, 5. August 2015 11:35