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

Werte vergleichen und sortieren

Werte vergleichen und sortieren
17.05.2017 17:10:38
Sait
Hallo zusammen, ich suche schon eine ganze Weile verzweifelt nach einer Lösung zu folgendem Problem:
Artikel	Bez.	Menge	Bestand	Datum	      Artikel	Bez.	Menge	Bestand	Datum
2291	ISO	1116	1321	28.07.2016	2291	ISO	1116	1321	28.07.2016
2696	MS3	17	18	04.08.2016
3297	L212	15	14	04.08.2016	3297	L212	15	14	04.08.2016
5602	HSW	16	17	13.12.2016	106385	SCHIENE	3	5	05.07.2016
10022	DIN	15	462	07.07.2016	106348	M9110	11	14	30.12.2016
10031	MEL	173	172	29.06.2016	106385	007-000#	5	3	08.07.2016
10033	AWL 12 	43	51	23.03.2016	10033	AWL 12 	43	51	23.03.2016
10035	TROL PA	0	1	05.08.2016	10035	TROL PA	0	1	05.08.2016
10038	NAS	0	1	03.08.2016	10038	NAS	0	1	03.08.2016
10038	6KT-	0	4	03.11.2016	106348	VR11	22	23	01.10.2016
10056	WMEL	249	250	13.04.2016	106513	DUCT	17	18	21.07.2016
10458	RAUBE	6	10	28.11.2016	106566	RACKET D	105	95	25.08.2016
10563	NAS18	77	78	18.03.2016	106588	M1000	11	10	25.08.2016
(sry... Ich bekomme die Tabelle nicht als grafik hier eingebunden.. Im Rohzustand sind es zwei verschiedene Arbeitsmappen)
Ich möchte Spalte "A" (Artikel) mit Spalte "F" Artikel vergleichen.
Gibt es eine Übereinstimmung, sollen die Zellen "F-J" so ansortiert werden, dass alle Werte zum Vergleich in einer Zeile stehen.
Ideal wäre es, wenn man als zweite Suchkomponente die Spalte E & J (Datum) mit einander vergleicht.
In etwa sollte es wie folgt funktionieren:
-> Wenn "A" = "F" & "E" = "J"; dann füge/ sortiere "F:J" in Zelle "F1-J1" ein
Die Tabelle beinhaltet über 1000 Positionen... Eine Formel oder VBA-Lösung würde mir hier extrem viel Arbeit sparen.
Ich bin für jeden Tipp dankbar!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dictionary
17.05.2017 18:49:53
Fennek
Hallo,
nur so als Konzept-Idee
Arbeitsblatt 1 in ein Dictionary laden mit der Artikel-Nr. als key und join(Spalte B-E, "|") als item.
Dann das zweite Blatt durchgehen und bei gleicher Art.-Nr das item ergänzen. Alles in ein leeres Blat einfügen und mit Text-in-Spalten, Trennzeichen "|" aufspalten.
mfg
AW: Werte vergleichen und sortieren
18.05.2017 08:14:57
Sait
Vielen Dank für die Idee Fennek!
Leider reichen meine Kenntisse nicht soweit aus... Ich höre gerade zum ersten mal von einem "Dictionary" :/
Werde aber versuchen, mich gleich damit etwas zu beschäftigen :)
Mal schauen ob ich mit der Idee weiterkomme...
Gruß
Anzeige
AW: Werte vergleichen und sortieren
18.05.2017 14:10:15
Sait
Ich komme leider nicht weiter...
vllt. mal ein einfacheres Bsp. um mein Problem zu beschreiben....
Ich möchte zwei Tabellen miteinander vergleichen.
Beide Tabellen enthalten jeweils die Spalten "Artikel", "Menge", "Datum"
Das komplizierte ist, dass die Artikelnummern in beiden Tabellen öfters und oder gar nicht vorkommen. Daher dürfen keine Daten verloren gehen..
Bsp. Tabelle 1:

Artikel	        Menge	   Datum
2291	        1116	   28.07.2016
2696	        17	   04.08.2016
3297	        15	   04.08.2016

Bsp. Tabelle 2:
Artikel	   Menge	   Datum
2291	   1116	       28.07.2016
106385	   3	       05.07.2016
106348	   11	       30.12.2016
3297	   15	       04.08.2016
106385	   5	       08.07.2016

Danke im Voraus!
Anzeige
AW: Code für 1. Bsp
18.05.2017 15:02:46
Fennek
Hallo,
für das Bsp in der Ausgangsfrage sollte dieser Code helfen:

Sub Test1()
With CreateObject("scripting.dictionary")
For i = 2 To Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row
Tx = Sheets(1).Range("B" & i & ":C" & i)
k = CStr(Sheets(1).Cells(i, "A").Value)
.Add k, Join(Application.Transpose(Application.Transpose(Tx)), "|")
Next i
For i = 2 To Sheets(2).Cells(Rows.Count, "A").End(xlUp).Row
Tx = Sheets(2).Range("B" & i & ":C" & i)
k = CStr(Sheets(2).Cells(i, "A").Value)
If .exists(k) Then
.Item(k) = .Item(k) & "|" & Join(Application.Transpose(Application.Transpose(Tx)), " _
|")
Else
.Item(k) = "||" & Join(Application.Transpose(Application.Transpose(Tx)), "|")
End If
Next i
Sheets(3).Cells(2, 1).Resize(.Count, 2) = Application.Transpose(Array(.keys, .items))
End With
End Sub
Es werden Daten anhand der ID in sheet(1) und sheet(2) verglichen und das Ergebnis in sheets(3) ausgegeben.
mfg
Anzeige
AW: Werte vergleichen und sortieren
22.05.2017 08:54:59
Sait
Hallo Fennek,
vielen Dank für deine Bemühungen. Leider gab es in der Zeile:
.Item(k) = .Item(k) & "|" & Join(Application.Transpose(Application.Transpose(Tx)), " _
|")

ein Syntaxfehler...
Da ich die Liste heute fertig haben muss, werde ich jetzt alles manuell machen.
Dennoch besten Dank für die Hilfe!
AW: Warum die Zeilentrennung?
22.05.2017 10:57:58
Fennek
Hi,
versuche es in einer Zeile:

.Item(k) = .Item(k) & "|" & Join(Application.Transpose(Application.Transpose(Tx)), "|")
mfg

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige