Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1900to1904
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

dynamische Dropdowns - Eindeutiger Wert

dynamische Dropdowns - Eindeutiger Wert
22.09.2022 17:22:19
NicoleK
Guten Abend,
ich habe folgendes Problem und konnte leider beim Stöbern im Forum keine Lösung finden oder ich habe nach den falschen Begriffen gesucht.
Wir haben einen Produkt-Konfigurator in Excel gebaut, welcher aus DropDowns besteht, die sich aus dynamischen Arrays über die Gültigkeitsprüfung füllen.
Das funktioniert auch problemlos.
Nun kann es je nach Auswahl der DropDowns sein, dass in dem folgenden DropDown nur noch eine Alternative zur Verfügung steht.
Da bei anderen Konfigurationen aber auch mehrere Alternativen möglich sind, kann ich auf das DropDown nicht verzichten.
Gibt es eine Möglichkeit per Formel oder VBA dem DropDown mitzugeben, dass es automatisch gefüllt wird, wenn nur noch eine alternative zur Auswahl steht.
Das würde in unserem Prozess einige Klicks ersparen.
Hoffe ich konnte das einigermaßen verständlich erklären, ansonsten gerne fragen.
Danke und Gruß,
Nicole

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Datei notwendig
22.09.2022 17:41:08
Yal
Hallo Nicole,
sicher gibt eine oder mehrere einfache Lösung, aber parat hat diese niemanden. Es müsste nachgebaut und getestet werden. Und wenn etwas nachgbaut wird, entspricht es selten das original und passt eventuel nicht mehr.
Wir brauchten deine Datei. Natürlich befreit von alles, was nicht im Netz gehört, oder für die Frage nicht relevant ist.
VG
Yal
AW: dynamische Dropdowns - Eindeutiger Wert
22.09.2022 17:44:57
Daniel
Es wäre sicherlich denkbar, im Change-Event die Arrays, die die DropDowns mit Daten befüllen durchzuzählen und wenn dabei 1 rauskommt, die dazugehörige Zelle mit dem Wert zu befüllen.
Gruß Daniel
AW: dynamische Dropdowns - Eindeutiger Wert
23.09.2022 08:54:35
NicoleK
Guten Morgen,
es scheint meinen Beitrag heute morgen nicht gespeichert zu haben. Hier daher der zweite Versuch.
In der folgenden Datei, hab ich mal ein Beispiel dargestellt. Die Drop Downs in den Zellen B3:B4 speisen sich aus den Arrays in den Spalten I bis K.
Diese Arrays beziehen sich wiederum auf die Tabelle unterhalb des Konfigurator. Das funktioniert wie gesagt auch problemlos.
Was wir uns nun noch wünschen würden ist, dass wenn ich wie in meiner Beispieldatei die Maschine C wähle und dadurch die folgenden Drop Downs nur noch einen Wert enthalten, dieser automatisch in die Zellen geschrieben wird.
Der Anwender darf die Drop Downs immer nur von oben nach unten füllen und in der Originaldatei gibt es auch eine Funktion alle Drop Downs zu leeren und auf Fehler zu prüfen. Aber an dem automatisch ausfüllen bin ich mit meinen geringen VBA Kenntnissen leider gescheitert.
Vielen Dank für eure Unterstützung.
Lg Nicole
https://www.herber.de/bbs/user/155336.xlsx
Anzeige
AW: dynamische Dropdowns - Eindeutiger Wert
23.09.2022 10:07:18
Daniel
HI
1. definiere mit der Formel, die du für die DropDowns verwendest, einen Excel-Namen (neuen Namen anlegen und dann diese Formel bei bezieht sich auf)
2. diesen Namen kannst du dann auch statt der Formel im DropDown verwenden
3. erstelle das Change-Event für dieses Tabellenblatt.
in diesem Programmierst du dann für jedes DropDown folgendes, du zählst wievie Zellen der Zellbereich für das DropDown umfasst und wenn das 1 ist schreibst du den Wert in die Zelle mit dem DropDown
als erstes mal einen Namen definieren "Auswahl_Bauform" mit der Formel bei bezieht sich auf =_xlfn.ANCHORARRAY($J$4))
also die selbe Formel die du als Quelle des DropDowns verwendet hast (ich hab kein Excel 365, daher kann ich es dir nicht genauer sagen)
dann folgendes Makro

Private Sub Worksheet_Change()
application.EnableEvents = false
With Range("Auswahl_Bauform")
if .Cells.Count = 1 then Range("B4").value =.Cells(1, 1).value
End with
Application.EnableEvents = true
End Sub
die With-Klammer erstellst du für jedes betroffene DropDown
Gruß Daniel
Anzeige
AW: dynamische Dropdowns - Eindeutiger Wert
23.09.2022 11:38:27
NicoleK
Hey Daniel,
vielen Dank für deine Unterstützung. Ich hab den Code noch etwas angepasst und das scheint prima zu funktionieren.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B3:B5")) Is Nothing Then Exit Sub
Application.EnableEvents = False
With Range("J4#")
If .Cells.Count = 1 Then Range("B4").Value = .Cells(1, 1).Value
End With
With Range("K4#")
If .Cells.Count = 1 Then Range("B5").Value = .Cells(1, 1).Value
End With
Application.EnableEvents = True
End Sub
Ich wünsche dir und auch allen anderen ein schönes Wochenende!
@ Chris: Mit deinem Beitrag kann ich leider nichts anfangen. Ich verstehe nicht, wie eine Pivot mir beim füllen der Drop Downs helfen sollte. Der Konfiguratoren ist im Reallife noch einiges komplexer uns besteht aus mehreren Tabellenblättern. Aber trotzdem Danke.
Liebe Grüße, Nicole
Anzeige
AW: dynamische Dropdowns - Eindeutiger Wert
23.09.2022 12:46:52
ChrisL
Hi
Hauptsache du hast eine für dich passende Lösung.
Ein klein wenig umdenken müsste man für den Pivot-Ansatz schon (kein Dropdown, dafür ein Datenschnitt). Ergibt keine Kalk-Fehler (z.B. Bauform X mit nachträglicher Änderung auf Maschine B) bzw. man kann auch von unten nach oben konfigurieren. Zudem frei von VBA und ohne Programmierkenntnisse erstelltbar.
Eine erhöhte Komplexität (Beziehung mehrerer Tabellen) spricht m.E. noch mehr für eine solche Lösung, da es sich mit Power-Query/-Pivot kombinieren lässt.
Aber eben, alles Geschmackssache und Hauptsache dass es läuft.
cu
Chris
Anzeige
AW: dynamische Dropdowns - Eindeutiger Wert
23.09.2022 10:10:05
ChrisL
Hi
Viele Wege führen nach Rom.
Eine einfache Lösung wäre Pivot:
- Datentabelle markieren
- Einfügen, PivotTable
- alle 3 Kategorien in die Box "Zeilen" reinziehen (keine Werte-Spalte)
Die Pivot wie eine normale Tabelle formatieren
- Entwurf, Teilergebnisse, nicht anzeigen
- Entwurf, Gesamtergebnisse, Zeilen/Spalten deaktivieren
- Entwurf, Berichtslayout, in Tabellenformat
- Entwurf, Berichtslayout, Alle Elementnamen wiederholen
- Entwurf, Zeilenüberschriften, deaktivieren
- PivotTable-Analyse, Schaltflächen +/- deaktivieren
Abschliessend die Auswahl einfügen
- PivotTable-Analyse, Datenschnitt einfügen
cu
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige