Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1792to1796
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

Verknüpftes Dropdown / Auswahl

Verknüpftes Dropdown / Auswahl
23.11.2020 17:30:03
xhyyy
Moin zusammen,
ich stehe vor der nachfolgenden Herausforderung, wo mir leider keine gescheite Lösung einfällt.
Ich habe eine Tabelle mit Lieferant (Spalte A) und Ansprechpartnern (Spalte B), sodass es pro Geschäftspartner mehrere Zeilen mit den jeweiligen Ansprechpartnern gibt.
In einer weiteren Tabelle, in welcher die Lieferanten bereits eingetragen sind, benötige ich ein Dropdown bzw. eine Auswahlmöglichkeit eines jeweiligen Ansprechpartners, natürlich gefiltert auf den Lieferanten, der bereits in der Zeile eingetragen ist.
Kann mir jemand helfen wie ich das hinbekomme? Vielleicht stehe ich auch gerade total auf dem Schlauch. Für eine Lösung über den Namensmanager sind es leider zu viele Lieferanten.
Für eine Rückmeldung vielen Dank vorab.
Liebe Grüße

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verknüpftes Dropdown / Auswahl
24.11.2020 09:12:48
xhyyy
Moin zusammen,
vielen Dank für eure Rückmeldungen.
Wenn ich es richtig verstehe, komme ich aber nicht drum herum, die Inhalte einmal zu definieren, oder? Also Lieferant A hat Zeile 1,2 und 3. Lieferant B hat Zeile 4,5,6,7,8,9,10 usw?
Das ist bei knapp 30.000 Datensätzen doch mehr Aufwand als ich erwartet hätte.
Viele Grüße
Anzeige
AW: Verknüpftes Dropdown / Auswahl
24.11.2020 09:32:16
volti
Hallo,
Deine Rückantwort ist für mich ziemlich verwirrend.
1. Man kann nicht erkennen, zu welchem Vorschlag Du hier überhaupt die Rückantwort gibst.
Da sollte man schon die Ansprechpartner benennen...
2. Bei meiner Methode braucht fast gar nichts definiert werden.
Im Blatt "Daten", oder wie immer es bei Dir heißt, sind in Spalten A (Lieferanten) und B (Ansprechpartner) die Daten
Nach Aufruf der Sub SetDropDown wird in der dort definierten Zelle ein DatenüberprüfungsDropDown erstellt, welches die Ansprechpartner auf den übergebenden Lieferanten filtert.
Wie nun der Aufruf gestaltet wird, hängt vom Aufbau Deiner Datei und Deinen Wünschen ab.
Einfacher geht's nicht. Es sei denn, Dein Aufbau passt nicht zur Logik meines Vorschlages. Dann hätten wir uns falsch verstanden
Vielleicht solltest Du mal eine Beispieldatei hier hochladen, aus der man was erkennen kann.
viele Grüße
Karl-Heinz
Anzeige
AW: Verknüpftes Dropdown / Auswahl
24.11.2020 16:38:18
Hajo_Zi
http://hajo-excel.de/gepackt/vba/dropdown_abhaengig_vba2.zip
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
Gruß Hajo
Anzeige
AW: Verknüpftes Dropdown / Auswahl
23.11.2020 21:06:32
volti
Hallo,
die Füllung so einer DropDownbox kannst Du z.B. mit VBA durchführen
Zunächst sammelst Du die gewünschten DropDown-Einträge je einmalig in einem String oder in einem Array oder, wenn sortiert gewünscht, z.B. in einer Collection.
Dann übergibst Du diese Daten entweder direkt als Werte an die Datenüberprüfungs-DropDown oder speicherst sie irgendwo, z.B. in einem ausgeblendetem Blatt und passt die Referenz darauf an.
Hat man nur wenige Daten, bietet sich die Direktwerte-Version an. Bei sehr vielen Daten muss man die DropDownbox(en) vor der Speicherung löschen und bei Neustart der Arbeitsmappe wieder neu aufbauen.
Sonst kann es bei zu vielen Daten zu Excelabstürzen kommen.
Oder man nimmt eine Hilfsspalte oder noch besser eine Hilfstabelle (kann man auch ausblenden) in der die gefilterten Daten vorliegen und setzt seine Referenz darauf.
Hierzu eine Idee als Beispiel dazu:
Code:
[Cc][+][-]

Option Explicit Sub Test() With ThisWorkbook.Worksheets("Tabelle6") 'B2=Ziel DropDown, B1=Quelle Filter=Lieferant '<<<anpassen>>> SetDropDown .Range("B2"), .Range("B1").Value End With End Sub Sub SetDropDown(oZiel As Range, Optional sFilter As String = "*") 'DropDown gefiltert setzen 'Mit Hilfsblatt über Referenzen Dim WSh1 As Worksheet, WSh2 As Worksheet Dim iZeile As Long, sData As String Dim sArr() As String, iSpalte As Integer Set WSh1 = ThisWorkbook.Worksheets("Daten") 'Datenblatt <<<anpassen>>> Set WSh2 = ThisWorkbook.Worksheets("Hilfsblatt") 'Hilfsblatt <<<anpassen>>> iSpalte = 2 'Ansprechpartner aus Spalte "B" 'Items nur einmalig in einen String aufnehmen sData = "," For iZeile = 1 To WSh1.Cells(Rows.Count, iSpalte).End(xlUp).Row With WSh1.Cells(iZeile, iSpalte) If .Offset(0, -1).Value Like sFilter Then If InStr(sData, "," & .Value & ",") = 0 Then sData = sData & .Value & "," End If End With Next iZeile 'Daten aufbereitet in Array überführen und auf Hilfsblatt ausgeben sData = Mid$(sData, 2) If Len(sData) > 2 Then sData = Left$(sData, Len(sData) - 1) sArr = Split(sData, ",") If UBound(sArr) >= 0 Then WSh2.Range("A1").Resize(UBound(sArr) + 1, 1) = Application.Transpose(sArr) 'Comboxbox in B2 anpassen With oZiel.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, _ Formula1:="=" & WSh2.Name & "!" & WSh2.Range("A1").Resize(UBound(sArr) + 1, 1).Address .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With End If End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige

224 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige