Zellen nach ident. Werten absuchen und einfärben
RollWeb
Hallo
Ich habe dieses "Problem" gestern bereits im Office-Loesung-Forum gepostet, bis jetzt aber leider noch keinerlei Antworten erhalten. Hoffe, dass ich hier mehr Glück habe.
Folgendes würde ich gerne mit einem Makro lösen (denke mit Formeln ist das so nicht umsetzbar...?):
Über mehrere Excel-Sheets (alle im gleichen Excel-File) sind in unterschiedlichen Zellen unterschiedliche Werte verteilt. Die Werte können reine Zahlen sein (z.B. 1, 2, 999, 1000, ect.), reine Buchstaben (z.B. AA, BB, CC, etc.) oder Buchstaben-Zahlenkombinationen inkl. "Punke" (z.B. 1a, 2b, 4.5c, ect.).
Wäre es möglich, dass alle Werte, welche die gleichen Kriterien (werde dies gleich noch ausführlicher erläutern) erfüllen, mit z.B. grüner Farbe merkiert werden und diejenigen, welche die Kriterien nicht erfüllen, rot?
Konkret:
Auf "Sheet 1" (Sheetname sollte im Makro selber einfach anpassbar sein) stehen ab der Zelle A5 (A5 abwärts: sollte aber möglich sein die jeweiligen "Startzellen" (auch die nachfolgend aufgezählten) im Makro selber einfach zu ändern) reine Zahlen (1, 2, 999, ect. Diese Zahlen stellen die Anzahl der Werte dar, welche sich in den Zellen ab Spalte E (nach hinten gerechnet, also ab E bis IV, finden)). Die folgende Aufzählung betrifft immer "Sheet 1" gilt aber auch für "Sheet 2", "Sheet 3" bis "Sheet n":
- ab Zelle B5 stehen jeweils reine Buchstaben (AA, BB, XY, etc.).
- ab Zelle C5 stehen jeweils reine Zahlen (2007, 2008, 2009, ect.).
- ab Zelle D5 stehen jeweils reine Zahlen (4, 10, 999, ect.).
- ab Zelle E5 (und ab hier nicht nur nach unten, sondern auch nach hinten, also auch in Zelle F5, G5, H5... bis IV5) stehen jeweils Buchstaben-Zahlenkombinationen (1a, 2.2b, 45.6c, etc.).
Der Aufbau von "Sheet 2" ist identisch mit demjenigen von "Sheet 1". Das gleiche gilt für "Sheet 3" ... "Sheet n". Alle "Sheets" welche miteinander verglichen werden sollen (die Namen der zu vergleichenden Sheets sollten im Makro anpassbar sein) sind gleich aufgebaut (gleiche Spaltenüberschriften, gleiche Spaltenverteilung, etc.), haben aber in ihren Zellen unterschiedliche Werte.
Jetzt kommen wir zum springenden Punkt:
Die Werte auf den einzelnen Sheets sollen miteinander vergleichen werden, und zwar so, dass ein Eintrag, der auf "Sheet 1" wie folgt aussieht: Code:
A ¦ B ¦ C ¦ D ¦ E ¦ F ¦ ... ¦ M
---------------------------------------------------
5 ¦ 9 ¦ AA ¦ 2009 ¦ 5 ¦ 1a ¦ 2.5b ¦ ... ¦ 55.5c
6 ¦
7 ¦
8 ¦
nur dann grün markiert wird, wenn auch er auch auf "Sheet 2", "Sheet 3" ... "Sheet n" gefunden wird (wenn es identische Werte gibt). Es muss nicht zwingend sein, dass der Eintrag von Zeile 5 auf "Sheet 1" z.B. auf "Sheet 2" auch in Zeile 5 auftaucht, er könnte auch auf der Zeile 100 auftauchen. Die Reihenfolge der Werte "2", "AA", "2009" und "5" wird dabei nicht ändern, also "2" wird immer in Spalte A stehen, "AA" immer in Spalte B, "2009" immer in Spalte C und "5" immer in Spalte "D". Es kann aber sein, dass der Wert, der auf "Sheet 1" in der Zelle E5 steht (1a) auf "Sheet 2" in der Zelle M5 steht und der Wert von Zelle M5 auf "Sheet 1" (55.5c) dafür auf "Sheet 2" in Zelle E5. Was allerdings zwingend ist, die Einträge müssen auf jedem Sheet, also von "Sheet 1" bis und mit "Sheet n" auftauchen. (Anmerkung: Die Zahl "9" in der Zelle A5 besagt, dass es ab Zelle E5 bis M5 zusammengezählt neun Zellen mit einem Wert gibt.)
Noch ein bisschen anders ausgedrückt:
If
der Wert der Zelle A5 (9) auf "Sheet 1" auch auf "Sheet 2", "Sheet 3", "Sheet n" gefunden wird (bspw. auf "Sheet 2" in Zelle A100, auf "Sheet 3" in der Zelle A33 und auf "Sheet n" in der Zelle A999), then
next if
Wert der Zelle B5 (AA) auf "Sheet 1" auch in der entsprechenden Zelle auf den anderen Sheets (müsste dann auf "Sheet 2" in der Zelle B100, auf "Sheet 3" in der Zelle B33 und auf "Sheet n" in der Zelle B999 gefunden werden), then
next if
Wert der Zelle C5 (2009) auf "Sheet 1" auch in der entsprechenden Zelle auf den anderen Sheets (müsste dann auf "Sheet 2" in der Zelle C100, auf "Sheet 3" in der Zelle C33 und auf "Sheet n" in der Zelle C999 gefunden werden), then
next if
Wert der Zelle D5 (5) auf "Sheet 1" auch in der entsprechenden Zelle auf den anderen Sheets (müsste dann auf "Sheet 2" in der Zelle D100, auf "Sheet 3" in der Zelle D33 und auf "Sheet n" in der Zelle D999 gefunden werden), then
next if
Wert der Zelle E5 (1a) auf "Sheet 1" auch in der entsprechenden Zeile auf den anderen Sheets (müsste dann auf "Sheet 2" in der Zeile 100, auf "Sheet 3" in der Zeile 33 und auf "Sheet n" in der Zeile 999 gefunden werden), then
next if
Wert der Zelle F5 (2.5b) auf "Sheet 1" auch in der entsprechenden Zeile auf den anderen Sheets (müsste dann auf "Sheet 2" in der Zeile 100, auf "Sheet 3" in der Zeile 33 und auf "Sheet n" in der Zeile 999 gefunden werden), then
next if
...
next if
Wert der Zelle IV5 (xxxx) auf "Sheet 1" auch in der entsprechenden Zeile auf den anderen Sheets (müsste dann auf "Sheet 2" in der Zeile 100, auf "Sheet 3" in der Zeile 33 und auf "Sheet n" in der Zeile 999 gefunden werden)...
Wenn für alle Werte auf den entsprechenden Zeilen und in den entsprechenden Zellen (wo es eine eindeutige Zellzuordnung gibt) eine Übereinstimmung gefunden wurde, dann sollen sie grün eingefärbt werden.
Kurz:
Die Werte in den Spalten A, B, C und D werden auf jedem Sheet am gleichen Ort stehen, also auch in den Spalten A, B, C und D (einfach in unterschiedlichen Zeilen). Die Werte ab der Spalte E können auf den unterschiedlichen Sheets auch in unterschiedlichen Spalten stehen.
Nochmals ein Beispiel:
Auf "Sheet 1" steht in der Zeile 5:
A ¦ B ¦ C ¦ D ¦ E ¦ F ¦ ... ¦ M
---------------------------------------------------
5 ¦ 9 ¦ AA ¦ 2009 ¦ 5 ¦ 1a ¦ 2.5b ¦ ... ¦ 55.5c
6 ¦
7 ¦
8 ¦
auf "Sheet 2" steht in der Zeile 100:
A ¦ B ¦ C ¦ D ¦ E ¦ F ¦ ... ¦ M
---------------------------------------------------
99 ¦
100 ¦ 9 ¦ AA ¦ 2009 ¦ 5 ¦ 55.5c ¦ 2.5b ¦ ... ¦ 1a
101 ¦
102 ¦
Man beachte: Der Wert, welcher auf "Sheet 1" in Zelle E5 steht, der steht auf "Sheet 2" in der Zelle M5.
Wenn man davon ausgeht, dass dort, wo "..." steht sowohl auf "Sheet 1" als auch auf "Sheet 2" die gleichen Werte stehen, dann müsste die ganze Zeile nun grün eingefärbt werden.
Kommen wir nun zu einem Fall, in welchem nicht alle Werte übereinstimmen:
Auf "Sheet 1" steht in der Zeile 6:
A ¦ B ¦ C ¦ D ¦ E ¦ F ¦ G
------------------------------------------------
5 ¦
6 ¦ 3 ¦ XY ¦ 2009 ¦ 8 ¦ 9d ¦ 6.3b ¦ 99qtx
7 ¦
8 ¦
auf "Sheet 2" steht in der Zeile 113:
A ¦ B ¦ C ¦ D ¦ E ¦ F ¦ G
------------------------------------------------
112 ¦
113 ¦ 3 ¦ XY ¦ 2009 ¦ 8 ¦ 6.3b ¦ 99qtx ¦ 9c
114 ¦
115 ¦
Bei diesem Beispiel stimmen zwar die Werte in Zellen A6 und A113, B6 und B113, C6 und C113, D6 und D113, F6 und E113, G6 und F113 überein, aber die beiden übrig bleibenden Zellen (da es hier nur 3 Buchstaben-Zahlenwerte hat (vgl. auch die Zahl "3" in den Zellen A6 auf "Sheet 1" und A113 auf "Sheet 2" für die Anzahl der Werte ab Spalte E) (kein "..." wie im Beispiel weiter oben)), E6 und G113 stimmen nicht überein. In E6 steht "9d" und in G113 "9c". In einem solchen Fall sollten dann nur diejenigen Zellen grün eingefärbt werden, welche übereinstimmen, d.h. für welche es in den beiden in Frage kommenden Zeilen (Zeile 6 auf "Sheet 1" und Zeile 113 auf "Sheet 2") einen entsprechenden identischen Wert gibt (dies wären A113, B6 und B113, C6 und C113, D6 und D113, F6 und E113, G6 und F113). Die beiden Zellen (E6 und G113) welche nicht übereinstimmen (wo es keine übereinstimmenden Werte in den beiden in Frage kommenden Zeilen gibt) sollten eine rote Farbe bekommen.
Ist es möglich ein Makro zu programmieren, dass all die aufgezählten Punkte bewältigen kann? Falls ja, hätte evtl. jemand von euch eine Lösung oder wenigstens Lösungsansätze?
Das war jetzt ziemlich viel Text. Ich hoffe aber trotzdem, dass ihr schlau aus meinen Ausführungen werdet. Falls jemand Fragen hat, einfach posten.
Für Antworten bedanke ich mich bereits schonmal im Voraus.
Beste Grüsse
RollWeb