Microsoft Excel

Herbers Excel/VBA-Archiv

ListFillRange in ActiveX-ComboBox

Betrifft: ListFillRange in ActiveX-ComboBox von: Gerd
Geschrieben am: 03.10.2020 19:07:02

Ich habe: Office 2019 unter Windows10-Home mit allen akt. Updates

Hallo an Alle,
wie kann ich den variablen Text-Inhalt einer Merkerzelle in die ListFillRange-Eigenschaft einer ActiveX-ComboBox übernehmen? Wenn möglich, ohne VBA.

Dazu habe ich bisher keine Lösung gefunden. Beispieldatei in der Anlage.
https://www.herber.de/bbs/user/140624.xlsx

Danke und Gruß
Gerd

Betrifft: AW: ListFillRange in ActiveX-ComboBox
von: Daniel
Geschrieben am: 03.10.2020 19:42:38

Hi

Auch wieder über einen Namen

Erstelle den Namen "StädeAuswahl" mit folgender Formel bei "bezieht sich auf":
=Indirekt(Merker.Land)
Verwende dann diesen neuen Namen für die ListFillRange.


Gruß Daniel

Betrifft: AW: ListFillRange in ActiveX-ComboBox
von: Gerd
Geschrieben am: 03.10.2020 20:12:36

Hallo Daniel,
dank für die Rückantwort, aber deine Formel =INDIREKT(Merker.Land) funktioniert leider nur, wenn ich ein Dropdown per Gültigkeitsprüfung einfüge. Da ist aber nur eine Spalte als Datenquelle zulässig. das habe ich schon erfolgreich getestet.
Ich verwende aber eine ActiveX-ComboBox, weil da mehrere Spalten in den Eigenschaften erlaubt sind, die ich auch nutzen möchte.

In der Beispieldatei ist das nicht ersichtlich, weil ich sie so simpel wie möglich halten wollte.
Gruß Gerd

Betrifft: Da kann man sich mal wieder nur an den Kopf fassen
von: Daniel
Geschrieben am: 03.10.2020 20:41:12

Und sich darüber wundern, dass erwachsene Menschen immer noch an Hellseher glauben.

Wie soll ich verdammt nochmal wissen, wie seine Datei aussiet, wen du mir eine ganz andere Datei zeigst?

Außerdem funktioniert das mit dem Namen sehr wohl mit ActiveX-Comoboboxen, also erzähle hier bitte keinen Scheiß.

Haben deine Namen auch die gleiche Anzahl an Spalten, wie die auch für die ActiveX-Box benötigt werden???
Vermutlich nicht.

Mit deiner Beispieldatei funktioniert es, daher ist das Problem aus meiner Sicht gelöst.

Betrifft: AW: Da kann man sich mal wieder nur an den Kopf fassen
von: Gerd
Geschrieben am: 04.10.2020 10:46:33

Hallo Daniel,
einerseits ist das kein guter Ton und andererseits erzähl ich keinen "Sch...", denn es funktioniert eben nicht in ActiveX-ComboBoxen! Der Eintrag "=INDIREKT(Merker.Land)" in ListFillRange wird sofort nach weiterschalten gelöscht - weil wahrscheinlich nicht zulässig. Habe ich mehrfach vor und nach deinem "Beitrag" getestet.
Ansonsten verzichte ich gerne auf weitere Antworten von dir. Nimm einfach an - Problem gelöst. Schau mal zu ONUR, das funktioniert.
Gruß Gerd

Betrifft: AW: Da kann man sich mal wieder nur an den Kopf fassen
von: Daniel
Geschrieben am: 04.10.2020 11:28:21

Hi
Du hast meinen Beitrag nicht richtig gelesen.

Ich schrieb nicht, dass du "=Indirekt(Merker.Land)" bei ListFillRange eintragen sollst, sondern dass du zunächst einen weiteren Namen (mit dieser Formel) erstellen musst und dann diesen Namen bei ListFillRange einsetzt.

Da du bereits intensiv mit Namen gearbeitet hast, bin ich eigentlich davon ausgegangen, dass ich ich das einfach genung erklärt habe und dass du auch intelligent genug bist, diese einfache Anweisung umzusetzen.

Außerdem, du hast geschrieben, dass es mit deiner Echt-Datei nicht funktioniert, weil die eben mehr Spalten hat und nicht das, was du mir jetzt schreibst.
Warum Schreibstil du nicht gleich das richtige?
Das gehört auch zum Guten Ton.

Gruß Danielj

Betrifft: AW: Da kann man sich mal wieder nur an den Kopf fassen
von: Gerd
Geschrieben am: 05.10.2020 11:29:53

Hallo Daniel,
sorry - ist wohl war, dass ich deinen ersten Beitrag nicht richtig geschnallt habe. Ich hatte mich vor meinem Hilferuf an die Community intensiv mit einer Dropdown-Lösung per Gültigkeitsprüfung beschäftigt. Die Funktion "=INDIREKT(Bezug;A1)" war noch im Hinterkopf, sodass ich sie automatisch auch in der ComboBox anwenden wollte. Natürlich Quatsch, wie sich herausstellte.
Bei meinem geplantem Projekt handelt es sich um eine umfangreiche Datei für Sportveranstaltungen im gesamten OSL-Landkreis mit vielen personenbezogenen Daten, die ich im Netz nicht unbedingt veröffentlichen wollte. Deshalb die vereinfachte Beispieldatei, die ich sie so simpel wie möglich halten wollte - Hinweis stand am Schluss.

Fazit: Ich werde deine Lösung einsetzen, weil sie prima funktioniert und gegenüber der Version von ONUR unkomplizierter ist.
Dein Weg einen Namen per Namensmanager zu definieren, der offensichtlich keinen Bezug zu einer Zelle, Bereich, Blatt oder Mappe hat, und die INDIREKT-Funktion dort einzutragen, ist mir noch nie im Netz begegnet - Super Idee.

Im Anhang habe ich für die, die vielleicht eine ähnliche Lösung suchen, nochmal die Anfrage und die Lösungsvorschläge zusammengefasst.
https://www.herber.de/bbs/user/140657.xlsx
Gruß Gerd


Betrifft: AW: Da kann man sich mal wieder nur an den Kopf fassen
von: Daniel
Geschrieben am: 05.10.2020 13:21:45

tja, wer lesen kann, ist im Vorteil...

ja, man kann bei Namen die Zellbereiche auch per Formel berechnen.

beispielsweise kannst du den Namen StädteAuswahl auch so gestalten, dass er sich die Zellbereiche in der Spalte E automatisch sucht, so dass du nicht mehr für jedes Land einen eigenen Namen erstellen muss.

die Formel für das "bezieht sich auf" wäre dann:
=BEREICH.VERSCHIEBEN(INDEX(Daten!$E:$E;VERGLEICH(Merker.Land;Daten!$E:$E;0));1;0;4;1)
die Anzahl der Zeilen und Anzahl der Spalten pro Land kannst du in den letzten beiden Parametern einstellen.
die Voraussetzung wäre, dass das für alle Länder gleich ist.

Gruß Daniel

Betrifft: AW: ListFillRange in ActiveX-ComboBox
von: onur
Geschrieben am: 03.10.2020 20:18:19

So ähnlich:
https://www.herber.de/bbs/user/140627.xlsx

Betrifft: AW: ListFillRange in ActiveX-ComboBox
von: Gerd
Geschrieben am: 04.10.2020 11:10:31

Hallo ONUR,
danke für deine Lösung. Das funktioniert ganz gut. Folgendes kann ich aber nicht nachvollziehen.
Wenn ich eine Zelle in F1:F4 anklicke, steht in der Bearbeitungsleiste {=INDIREKT($A$5)} mit geschweiften Klammern. Klicke ich in die Bearbeitungsleiste verschwinden die geschweiften Klammern. Wo kommen diese Klammern her und was bedeuten/bewirken sie?
Wenn ich deine Lösung in meinem Projekt übernehmen will und die INDIREKT-Funktion anwende, wird ein Fehler mit Hinweis ausgegeben:

Wo liegt der Fehler?
Gruß Gerd

Betrifft: AW: ListFillRange in ActiveX-ComboBox
von: onur
Geschrieben am: 04.10.2020 11:21:05

Die vier gelben Zellen untereinander enthalten eine Matrixformel.
Das sollte aber Jemand, der wirklich "Excel gut" ist, kennen. :)
https://support.microsoft.com/de-de/office/erstellen-einer-matrixformel-arrayformel-e43e12e0-afc6-4a12-bc7f-48361075954d