Auto-Vervollständigen bei DropDown Menüs
#1
Hallo in die große Runde,

ich habe ein massives Problem, welches nicht bei mir selbst auftritt, aber bei etlichen anderen, welchen ich meine .xlsx zur Verfügung stelle. Folgendes Szenario: 

- Ich habe ein Tabellenblatt, in dem ca. 600 Produkte aufgelistet sind
- In einem anderen Tabellenblatt habe ich über Datenüberprüfung > Gültigkeitskriterien > Listen definiert, dass ausschließlich Werte aus der genannten Produktliste erlaubt werden
- Sobald ich anfange zu tippen, werden mir alle Produkte angezeigt, welche Übereinstimmung mit den getippten Buchstaben aufweisen. Beispiell: Wenn ich "10" eingebe, werden mir per dropdown als mögliche Eingaben"10 Produkt", "Produkt 10" als auch "100 Produkt" angezeigt. 

Genau diesen Mechanismus benötige ich, um schnell aus den 600 Produkten auswählen zu können. Leider musste ich feststellen, dass MS hierbei eine Art "Rollback" durchgeführt hat. Bei sehr vielen anderen Benutzern funktioniert genau diese Funktion nicht mehr. Man erhält kein Dropdown mehr, was die Liste gemäß der bereits getätigten Eingaben einschränkt. 

Nach meiner Recherche habe ich hierzu auch schon die Ursache gefunden: 

"The AutoComplete for drop-down lists feature on Excel for Windows was in the process of rolling out to all Current Channel customers. As we roll it out, we also ensure things are working smoothly before we expand our rollout to larger numbers of users. Sometimes, based on user feedback, we find things aren't working as expected. This is rare. That said, we have confirmed one such issue, so we have rolled back (a.k.a. turned off) AutoComplete for drop-down lists for all our Current Channel users.

We apologize for any inconvenience this is causing you. We are working hard to fix the issue as we speak in order to restart rolling out AutoComplete for drop-down lists in Current Channel as soon as we can."

Nachzulesen unter https://answers.microsoft.com/en-us/msof...248ed61132

Das ist das aktuellste, dass ich hierzu finden konnte und stammt aus dem Oktober 2023. 

- Gibts hierfür eine Lösung, welche ich übersehen habe? Hat Microsoft hier wirklich noch keine Lösung parat?
- Hat jemand alternative Möglichkeiten, wie man performant aus einer langen Liste von Werte einen bestimmten Wert finden kann? 

ich bin schier am verzweifeln und würde mich über Unterstützung wirklich sehr freuen. 

Vielen herzlichen Dank im Voraus!
Antworten Top
#2
Hi,

also in meiner Beta-Version Microsoft® Excel® für Microsoft 365 MSO (Version 2505 Build 16.0.18812.20002) 64 Bit funktioniert das.
Auf jeden Fall ist das erst ein Feature seit xl365.

Alternativ kann man das mit einer Combobox lösen - in Verbindung mit VBA. Dabei werden die Werte (Treffer) mittels Array in die Combobox eingelesen - und zwar im Change-Ereignis der Combobox.
Ohne VBA kann man das auch mit einem Textfeld lösen, indem man den jeweiligen Inhalt des Textfeldes (bzw. der LinkedCell des Textfeldes) per Formel mit z.B. SUCHEN() auflistet und dann diese dynamische Auflistung als Liste für die Datenüberprüfung hinterlegt.
Antworten Top
#3
Hallo Miteinander,

man kann ab O2021 so was schon recht bequem mit Formeln machen.
Aber bei der Masse an Einträgen wäre die Ersatzlösung Combobox _Change der wohl flexiblere Weg. Das hatte ich Boris vor einigen Tagen mal bei Herber zusammengeschnitzt.

.xlsm   Teilstring Treffer in Combobox.xlsm (Größe: 22,95 KB / Downloads: 4)

Gruß Uwe
Antworten Top
#4
Hi Uwe,


Zitat:Das hatte ich Boris vor einigen Tagen mal bei Herber zusammengeschnitzt

Darauf wollte ich hinaus - aber erst mal abwarten, ob VBA überhaupt eine Option ist.
Hier der Link:  ComboBox - Vorschlagsliste mit "enthält" | HERBERS Excel Forum

Ich häng mal die VBA-freie Variante mit der Textbox an.


Angehängte Dateien
.xlsx   DD_dyn_mit_Textfeld.xlsx (Größe: 18,01 KB / Downloads: 7)
Antworten Top
#5
Hallo zusammen,

das sind schon mal bessere Lösungsansätze als die, die ich bisher hatte. 1000 Dank schon mal. Hab aber scho paar Fragen dazu:

- In der Variante mit der Textbox werden ja - solange man nicht einschränkt - alle vorhandenen Einträge über die Filterfunktion angezeigt. Das wären dann alle 600. Kann man dies eventuell unterbinden bis man, sagen wir 3 Zeichen eingegeben hat? ich habe, bedingt durch die Produktpalette, eine sehr große Anzahl ähnlicher Werte. 
- Aktuell muss ich ja einen Umweg gehen und die Textbox zum suchen verwenden und nachgelagert in einer anderen Zelle per dropdown innerhalb der vorgefilterten Einträge auswählen. Dies zu umgehen ist mir bisher nicht möglich. Der Königsweg wäre eine Mischung aus Textbox und Combobox. So könnte man direkt gemäß der Filterkriterien einen Eintrag auswählen. Ideen hierzu?


Danke im Voraus  Heart
Antworten Top
#6
Hi,

die Combobox hat leider ne (bekannte) Macke, was die ListFillRange via Namen angeht. Wenn die Bereichsgröße des Namen dynamisch ist, dann "kapiert" die Combobox eine Änderung erst, wenn man den Namen in den Eigenschaften der Box bei der ListFillRange neu eintippt (wirklich TIPPEN). Und das ist halt wenig zielführend Wink
Daher der Weg über die Textbox.
Oder halt per VBA.
Antworten Top
#7
Zitat:alle vorhandenen Einträge über die Filterfunktion angezeigt. Das wären dann alle 600. Kann man dies eventuell unterbinden bis man, sagen wir 3 Zeichen eingegeben hat? ich habe, bedingt durch die Produktpalette, eine sehr große Anzahl ähnlicher Werte.

Aber genau das geht ja auch mit der Textbox.
Antworten Top
#8
Hallo Miteinander,

wenn es unbedingt ohne VBA sein soll, allerdings als Formel-Orgie dann siehe Datei beispielhaft mit diversen Ländernamen.

.xlsx   DropDown Teiststring.xlsx (Größe: 16,29 KB / Downloads: 3)

Gruß Uwe

PS.: Läuft ab O2021
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste