Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: Lars211 am Dezember 07, 2018, 13:40:26 Nachmittag
-
Hallo zusammen,
Im VBA habe ich ein Makro, welches mir Zahlen gleicher Farbe in einer Zeile addiert.
Das funktioniert bist zu dem Punkt wo der Farbcode zweistellig wird.
So sieht das aus:
Function Krank(Bereich As Range)
Application.Volatile
Krank = 0
For Each zelle In Bereich
If zelle.Font.ColorIndex = 3 Then
Krank = Krank + zelle.Value
End If
Next
End Function
Ich kenne es von C++... Deklaration als Int oder double
Wahrscheinlich ist das hier ähnlich?!
Kann mir jemand sagen, wie ich die Addition hinbekomme, wenn der ColourIndex mehrstellig ist?
Vielen Dank
-
Hallo,
kann ich nicht nachvollziehen, was Du meinst. Angenommen, der Farbcode wäre 33 (Hellblau), dann hättest Du
zelle.Font.ColorIndex = 33 und das funktioniert.
Generell ist es aber keine gute Idee, Farben zu zählen. Ich gehe davon aus, dass die Farben manuell gesetzt werden.
Besser wäre es, einen Status z.B. in der Nachbarsspalte zu setzen, die Farbe über eine bedingte Formatierung zu
setzen und die Werte per Formel zu addieren - Stichwort z.B. ZÄHLENWENN.
Gruß
-
Und genau das geht eben nicht..
Sobald der Index über 9 hinausgeht, funktioniert es nicht.
Ich habe ein Makro gefunden, was mir den Index anzeigt.
Damit habe ich meine Vermutung bestätigen können.
Index 1-9 geht, ab 10 nicht mehr
-
Hallo,
ColorIndex = 33 klappt prima bei mir. Daher folgende Fragen ...
- welche Excel-Version verwendest Du?
- welche Plattform (Win/Mac)?
- wechen Dateityp (xls, xlsm, xlsb)?
Und, kannst Du hier eine Beispieldatei hochladen?
Gruß
-
Excel 16 auf Windows und xlsm
anbei die Beispieldatei...
-
Hallo Lars,
das Ganze basiert m. E. auf der alten Farbnummerierung bis Excel 2003. Ab Excel 2007 gibt es ein anderes Farb-Nummerierungssystem. So wie ich das sehe, funktioniert dies nicht mehr mit der neuen Nummerierung. Stelle die Frage doch mal im "Herber-Forum" http://www.herber.de/forum/ (http://www.herber.de/forum/)!
Servus
-
Alles klar, danke :)