Zusammenhänge aus A:B Kombi nach E:AB
06.07.2016 15:27:48
Nilo
ich bin mit meiner Idee bzw. Datei noch nicht da wo ich sein will und
habe eine (hoffentlich) einfache Frage an die VBAler:
Was versuche ich:
ich habe 4 Spalten mit Daten und ca. 80000 Zeilen
A1 ÜSchriften: Ab A2 Daten
Beispiel:
A2 = 886999777 / B2 = leer / C2 = 669977554 / D2 = 002222664
A3 = 886556677 / B3 = 556555888 / C3 = 111977554 / D3 = leer
A4 = 222999777 / B4 = leer / C4 = 886999777 / D4 = 445222264
A5 = 798499777 / B5 = 000255555 / C5 = leer / D5 = 886999777
usw.
Istdaten: Jede Zahl kann 1 oder mehrfach vorkommen.
Wie zu sehen: A2 = C4 & C4 = D5
SollDaten = in jeder Zeile sollen wenn es Zusammenhängende gibt alle Zahlen auch links und rechts daneben ab E2 geschrieben werden
zB:
A2 = 886999777 / B2 = leer / C2 = 669977554 / D2 = 002222664 steht und ab
E2 dann auch die = 445222264 (Zusammenhang ist A2 = C4) &
F2 dann auch die = 222999777 (Zusammenhang ist A2 = C4)
Und
A4 = 222999777 / B4 = leer / C4 = 886999777 / D4 = 445222264 steht und ab
E4 dann auch die = 669977554 (Zusammenhang ist A2 = C4) &
F2 dann auch die = 002222664 (Zusammenhang ist A2 = C4)
Ich habe das schon rudimentär mit 24 Such/Find Kombinationen (bis AC) folgender Formel:
Range("E2").FormulaR1C1 = "=IF(IFERROR(INDEX(C[-3],MATCH(RC[-2],C[-4],0)),"""")=0,"""",IFERROR(INDEX(C[-3],MATCH(RC[-2],C[-4],0)),""""))"
.Range("E2:AC" & letzte).FillDown
Mit einer Sub von Daniel "Listen_ohne_Duplikate" (Danke nochmal)
lasse ich mir dann eine Bereinigte Liste ausgeben.
Das läuft soweit und langsam und ich denke ständig ich habe etwas bei den Index Kombinationen übersehen.
Ein VBA Fctn oder SripctionDic könnte mir da mehr Sicherheit reinbringen und ist bestimmt auch einen Zacken schneller!?
Mir gehts vor allem darum dass ich eben nichts übersehe und in jeder Datenreihe immer alle Zusammenhänge link-Mitte-rechts, egal ob Anfang, Mitte oder Ende, einfangen kann.
Ich hoffe das war soweit verständlich erklärt.
Anbei noch die Datei
https://www.herber.de/bbs/user/106808.zip
Danke schon mal im Voraus
Nilo