Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1556to1560
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

Mehrere Spalten ohne Duplikat kopieren/sortieren

Mehrere Spalten ohne Duplikat kopieren/sortieren
04.05.2017 09:55:52
Andreas
Hallo zusammen,
ich habe mehrere Tabellen für verschiedene Tätigkeiten/Funktionen mit Namen und UserIDs im selben Blatt, siehe Beispiel-File:
https://www.herber.de/bbs/user/113298.xlsx
Dabei kann ein Name in mehreren Tabellen auftreten, weil eine Person mehrere Funktionen wahrnehmen kann. Die einzelnen Listen werden zukünftig durch weitere Namen/UserIDs ergänzt (bis zu einer Maximalanzahl, im Beispiel angedeutet durch die Rahmen).
Benötigt wird weiter unten im selben Tabellenblatt eine alphabetische Auflistung aller vorkommenden Namen, wobei Duplikate entfernt werden sollen. Diese Liste soll dann einen Namen bekommen, damit ich sie später bspw. als dynamisches Drop-Down verwenden kann. Die Einträge "_nicht zugewiesen" und "_entfällt" sollen in der Auflistung nicht erscheinen.
Wird nun bei einer der Funktions-Tabellen ein neuer Name hinzugefügt, soll dieser automatisch in die neue Liste integriert und der Namensbezug für das Drop-Down angepasst werden.
Bitte keine Formel-Lösungen, idealerweise per VBA über Worksheet_Change.
Ich hoffe, mein Problem ist einigermaßen klar geworden... ist halt etwas schlecht zu beschreiben ;-)
Vielen Dank für Eure Hilfe,
Andreas

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Spalten ohne Duplikat kopieren/sortieren
04.05.2017 13:03:08
Werner
Hallo Andreas,
hier mal ein Zwischenstand zum Testen. Derzeit noch in einem allgemeinen Modul und Makrostart über eine Schaltfläche.
Den Einbau in das Worksheet_Change Event muss ich noch machen.
https://www.herber.de/bbs/user/113303.xlsm
Gruß Werner
AW: Andere Variante...
04.05.2017 14:04:14
Michael
...obwohl Werner Dir ja schon eine schöne Lösung angeboten hat.
Ich wollte nur direkt mit den Listobjects und einem Dictionary arbeiten (für eine eigene Geschichte), und hab's deswegen gebastelt.
Wen's interessiert, direkt in Deiner Bsp-Datei: https://www.herber.de/bbs/user/113308.xlsm
Den Bereich der Quell-Listen kann man ggf. erweitern (Makro im Modul der Tabelle1).
LG
Michael
Anzeige
AW: Andere Variante...
05.05.2017 08:35:01
Andreas
Hallo Michael,
vielen Dank für Deine Arbeit. Ich muss leider gestehen, dass ich den Code nicht so recht verstehe, bin halt doch relativer VBA-Anfänger... Aber ich werde mir das mal zu Gemüte führen :-)
Besonders die Übernahme der sortierten Liste für das Drop-Down muss ich mir mal genauer ansehen. Das ist in der Lösung von Werner nämlich nicht drin.
Beim Testen habe ich dann noch gesehen, dass anscheinend nicht alle Namen unten auftauchen, konkret fehlt Wolfi. Wenn ich weitere Namen hinzufüge, erscheint der Wolfi dann aber doch irgendwann. Irgendwo ist da also noch der Wurm drin.
Wenn aus den Funktionslisten ein Name rausgenommen wird, dann verschwindet der in der alphabetischen Sortierung nicht mehr. Was da einmal drin ist, bleibt auch drin. In meinem Fall ist das unerwünscht, hatte ich aber so auch nicht als Anforderung formuliert ;-)
Jedenfalls nochmals Danke!
Viele Grüße,
Andreas
Anzeige
AW: Ergänzt und kommentiert...
05.05.2017 10:00:37
Michael
Hallo Alex!
Hier meine ergänzte Version, dann sollten Deine Anforderungen auch in meiner Variante komplett erfüllt sein: https://www.herber.de/bbs/user/113337.xlsm
Außerdem habe ich Dir den Code ein wenig kommentiert - dann kannst Du evtl. besser nachvollziehen, was wo passiert. Bzgl. dynamischem Dropdown siehe auch meine AW weiter unten.
LG
Michael
AW: Ergänzt und kommentiert...
05.05.2017 15:18:46
Andreas
Hi Michael,
super. jetzt machts genau das, was ich will... und vielen Dank nochmal fürs Kommentieren. Ich glaube, ich muss mich mal mit ListObject usw. näher beschäftigen.
Schönes Wochenende,
Andreas
Anzeige
AW: Mehrere Spalten ohne Duplikat kopieren/sortieren
04.05.2017 15:33:52
Andreas
Hallo zusammen,
vielen Dank erst Mal für die Mühen. Heute schaffe ich das Testen nicht mehr. Morgen gebe ich Rückmeldung.
Viele Grüße,
Andreas
AW: Mehrere Spalten ohne Duplikat kopieren/sortieren
04.05.2017 17:05:07
Werner
Hallo Andreas,
wohl etwas umständlich, aber es tut. Die Version von Michael ist da deutlich eleganter. Aber da ich mir schon mal die Mühe gemacht habe, stell ich meine Version auch noch ein. Jetzt hast du die Qual der Wahl.
https://www.herber.de/bbs/user/113319.xlsm
Gruß Werner
AW: Mehrere Spalten ohne Duplikat kopieren/sortieren
05.05.2017 08:43:31
Andreas
Hallo Werner,
auch Dir nochmal vielen Dank!
Als VBA-Laie kann ich nicht so recht beurteilen, welcher Code eleganter ist. Jedenfalls verstehe ich Deinen Ansatz.
Der Vorteil Deiner Variante ist, dass die alphabetische Sortierung angepasst wird, wenn man einen Namen von den Ausgangslisten wegnimmt (ohne dabei Leerzeilen zu erzeugen... logisch).
Jetzt fehlt mir nur noch das Erzeugen eines Namens der sortierten Liste, damit ich die dynamisch als Drop-Down verwenden kann. Aber das versuch ich erstmal selber ;-)
Also nochmals: Besten Dank!
Andreas
Anzeige
AW: Bzgl. dynamischem DropDown...
05.05.2017 09:44:08
Michael
Alex,
...kannst Du Dir ggf. in meiner Datei anschauen. Wenn Deine "Zielliste", so wie in Deinem Beispiel, sowieso eine "formatierte Tabelle" ist, dann hat dieser Bereich bereits einen Namen, auf den Du auch für die Dropdown-Liste zurückgreifen kannst (bei mir "t_Namensliste"). Der Zugriff in der Datengültigkeitsliste erfolgt dann so:
=INDIREKT("t_Namensliste[#Daten]")
LG
Michael
AW: Bzgl. dynamischem DropDown...
05.05.2017 10:02:30
Andreas
Hallo Michael,
cool, funktioniert. Das "indirekt" hilft mir auch an anderer Stelle weiter. Bis jetzt habe ich immer Namen händisch definiert...
Danke und Gruß,
Andreas
Anzeige
AW: Siehe auch meine ergänzte Bsp-Datei oben...
05.05.2017 10:55:51
Michael
Andreas,
(entschuldige, habe vorhin "Alex" geschrieben, tut mir leid)
...ich hab Dir eine neue Variante gemacht mit Kommentaren, vielleicht bringt Dich das ja weiter.
LG
Michael
AW: Bzgl. dynamischem DropDown...
05.05.2017 10:09:19
Andreas
Hallo Michael,
cool, funktioniert. Das "indirekt" hilft mir auch an anderer Stelle weiter. Bis jetzt habe ich immer Namen händisch definiert...
Danke und Gruß,
Andreas
AW: Gerne u. Danke für die Rückmeldung.
05.05.2017 11:26:55
Werner
Hallo Andreas,
und bzgl. deinem Dropdown hast du ja die Lösung von Michael, hatte ich einfach vergessen.
Gruß Werner
AW: Gerne u. Danke für die Rückmeldung.
05.05.2017 15:39:24
Andreas
Hallo Werner,
einen kleinen Schönheitsfehler habe ich noch bei Deiner Lösung gefunden:
Die alphabetisch sortierte Liste ist ja genau genommen nur eine Hilfsliste, auf die ich später von mehreren anderen Stellen zugreife. Daher wollte ich die entsprechenden Zeilen unterhalb der Funktionslisten bis zum Blattende einfach ausblenden, weil die den Anwender nicht interessieren.
Wenn ich aber die Zeilen ausblende, dann gibt's einen Laufzeitfehler 91 (Objektvariable oder With-Blockvariable nicht festgelegt), sobald ich einen Namen zufüge oder wegnehme.
loErsteZ = .Columns(2).Find("Name", LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlPrevious).Row + 1
greift dann anscheinend ins Leere, weil die Zelle mit Inhalt "Name" und auch "*" nicht im eingeblendeten Teil sind.
Eine Idee dazu?
Viele Grüße,
Andreas
Anzeige
AW: Gerne u. Danke für die Rückmeldung.
05.05.2017 16:30:49
Werner
Halo Andreas,
mir ist zwar nicht so klar warum du jetzt noch mal anfragst. Du hast ja wohl eine funktionierende Version von Michael, die du auch in Benutzung hast. Aber seis drum. Einfach vorher einblenden und danach wieder ausblenden.
Ich habe jetzt mal den Zeilenbereich von Zeile 27 bis Zeile 200 ausgeblendet.
https://www.herber.de/bbs/user/113350.xlsm
Gruß Werner
AW: Gerne u. Danke für die Rückmeldung.
08.05.2017 08:53:32
Andreas
Hallo Werner,
ich hatte mich bereits auf Deine Version "eingeschossen", wollte aber beide Varianten auch verstehen. Von daher nochmal die Nachfrage.
Einfach ein- und dann wieder ausblenden erschien mir irgendwie zu einfach, daher hatte ich mal vermutet, dass es irgendwie auch anders gehen könnte.
Trotzdem nochmal vielen Dank!
Viele Grüße,
Andreas
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige