Datei anbei.
https://www.herber.de/bbs/user/168905.xlsm
Als Ergebnis sollen im Blatt "Ranking SC" in allen Spalten die Werte aus dem Blatt "All" übertragen werden und in den Spalten in denen das Wort "Rang" vorkommt das Ranking (je Monat) erstellt und farblich hervorgehoben werden.
Am liebsten so, das wenn es mehrere im Rang 1 gibt, es auch einen Rang 2 gibt.
Gibt es mehrere im Rang 2, soll es auch Rang 3 geben etc.
Der Code vergleicht die Namen aus "Ranking SC" mit "All", wenn gefunden, dann im Blatt "Ranking SC" in die richtige Spalte des jeweiligen Datums die Daten eintragen.
Danach die Formeln für die Rangermittlung eintragen.
Neu berechnen.
Die Formeln löschen.
Farblich sollen die Ränge 1 bis 3 hervorgehoben werden.
Die Daten übertragen läuft.
1. Rang ermitteln auch, aber
hier die erste Herausforderung:
In Spalte E gibt es ein mal Rang 1, drei mal Rang 2, dadurch gibt es Rang 3 und 4 nicht.
Wie bekomme ich es hin, das, auch wenn Rang 2 drei mal existiert, der nächste Rang auch die 3 erhält usw?
Meine Ursprungsidee war:
2. Nun zu den Farben. Die erste Spalte mit Rang = E bekomme ich farblich für den Rang 1 hin. 2 und 3 würde ich auch hin bekommen
Aber, hier
meine nächste Herausforderung:
sobald die erste Spalte fertig berarbeitet wurde verliert mein Code "den Focus" und ich komme nicht in die nächste Spalte.
Ich vermute nun, wenn 1. gelöst ist, kann ich meine Ursprungsidee (2.) "in die Tonne treten" ;-), da ich ja dann nur noch in den Spalten mit "Titel" Rang (Zeile2) nach 1, 2 und 3 suchen muss und diesen die entsprechende Farbe verpasse.
Nur wie?
Mein Code ist bestimmt optimierbar und besser zu schreiben, aktuell läuft er für mich, bis auf meine 2 Herausforderungen.
Zum starten einfach im Blatt "Ranking SC" auf die Schatfläche klicken. Ich habe dort wo mein Fehler auftritt, eigentich, einen Haltepunkt gesetzt.
(Wobei der ständig gelöscht wird. Warum?)
Im Sub neuRangUndFarbe(), in der Zeile "aktuelleSpalte = ZielSpalte.Address 'Steigt hier aus da das "With" "verloren" wird" steigt er aus.
Vorab schon vielen Dank an alle die sich das ansehen.