Hallo zusammen
Kann mir jemand die Formel nennen, welche ich bei "D4" einsetzen muss, damit er mir das Total der Kopien von "Olaf" der "dunkelblau" ist für Montag aus "D11 : D19") zusammenzählt? Wichtig: Die Farben-Codes soll er aus der Spalte 2 herauslesen und dürfen nicht in der Formel eingebunden sein.
Besten Dank für eure Hilfe!
Grüsse
Gerri
Hallo Gerri,
es hätte schon geholfen, wenn du anstelle der PDF-Datei die Exceldatei eingestellt hättest. Ganz abgesehen davon, dass man keine Auswertungen nach Zellformaten machen sollte.
Hallo Klaus-Dieter
Danke für deine Antwort. Warum sollte man keine Auswertung nach Zellformaten machen?
Hallo, wahrscheinlich, weils zu einfach wäre...
Hi,
Obwohl ich da was geschrieben habe.... selber verwende ich das nicht! :)
Nach Farben etwas auszuwerten ist nicht empfehlenswert, da die mögliche Fehlerquelle sehr hoch ist!
[
attachment=16995]
Code:
Option Explicit
Public Function sumFarb(ParamArray rng()) As Double
'###################################
'by Kaiser 01/2008 'im Tabellenblatt kann =sumfarb(B1:B25;E1;E2;E3;1)
'der erste Bereich ist der Summenbereich und die Zellen dahinter,
'sollten die Zellen beinhalten die eine Hintergrundfarbe aufweisen
'falls auch die Schriftfarbe berücksichtigt werden sollte
'geben sie als letzten Parameter 1 ein
'soll nur die Schriftfarbe genommen werden -> geben Sie als Parameter 0 ein
'wird kein Paramter eingegeben wird nur die Hintergrundfarbe genommen
'###################################
Dim i, sum_rng As Range, color_() As Integer, cell_ As Range, red_ As Byte
Dim par_value As Integer
Application.Volatile
Dim font_color()
Set sum_rng = rng(0)
If TypeName(rng(UBound(rng()))) = "Double" Then
red_ = 1
par_value = rng(UBound(rng()))
End If
ReDim color_(UBound(rng()) - red_)
ReDim font_color(UBound(rng()) - red_)
For i = 1 To UBound(rng()) - red_
color_(i - 1) = rng(i).Interior.ColorIndex
font_color(i - 1) = rng(i).Font.ColorIndex
Next
For Each cell_ In sum_rng
For i = 0 To UBound(rng()) - red_ - 1
If red_ = 1 And par_value = 1 Then
If cell_.Interior.ColorIndex = color_(i) _
And cell_.Font.ColorIndex = font_color(i) Then
sumFarb = sumFarb + cell_.Value
End If
ElseIf red_ = 1 And par_value = 0 And _
cell_.Font.ColorIndex = font_color(i) Then
sumFarb = sumFarb + cell_.Value
ElseIf red_ = 0 And cell_.Interior.ColorIndex = color_(i) Then
sumFarb = sumFarb + cell_.Value
End If
Next
Next
End Function
aus
http://www.ms-office-forum.net/forum/showpost.php?p=1070039&postcount=16
Hallo,
Zitat:Warum sollte man keine Auswertung nach Zellformaten machen?
weil Zellformate keine verlässliche Grundlage sind. Wenn du, wie du es ja geplant hast, nach Zellfarben auswertest, mag das auf deinen Rechner prima funktionieren. Angenommen du gibst jetzt die Datei weiter, der Nutzer arbeitet mit anderen Standardfarben als du, schon kann es aus dem Ruder laufen.
(06.04.2018, 07:35)chris-ka schrieb: [ -> ]Hi,
Obwohl ich da was geschrieben habe.... selber verwende ich das nicht! :)
Nach Farben etwas auszuwerten ist nicht empfehlenswert, da die mögliche Fehlerquelle sehr hoch ist!
Hallo Chris
Vielen Dank für die erstellte Tabelle. Sieht im ersten Moment gut aus, jedoch hat es z.b. bei Mittwoch bei Olaf-dunkelblau (4 anstelle 71) und Karl-grün (soll 67 anstelle 71) einen klaren Rechnungsfehler. Was ist da wohl los?
Die Tabelle ist nur für mich als einzigen Anwender gedacht. Dass die Bedienung in diesem Fall nicht willkürlich von vielen erfolgen sollte, ist mir bewusst.
Hi,
kann ich nicht nachvollziehen...
sieht so bei mir aus....
[
attachment=17000]