Ich fand eine UDF, die die Werte einer Zelle basierend auf ihrer Farbe berechnet. Es hat perfekt funktioniert, als ich es das erste Mal benutzt habe. Wenn ich jetzt jedoch die Farbe einer Zelle ändere (die Farbe bestimmt, ob die Zelle geplant oder ausgeführt wurde), wird sie in der vorhandenen Arbeitsmappe nicht automatisch aktualisiert. Siehe Code unten:Wie bekomme ich eine UDF basierend auf Zellenfarbe zu automatisch aktualisieren in Excel
Function SumByColor(CellColor As Range, rRange As Range)
Application.Volatile True
Dim cSum As Long
Dim ColIndex As Integer
Dim cl As Variant
ColIndex = CellColor.Interior.ColorIndex
For Each cl In rRange
If cl.Interior.ColorIndex = ColIndex Then
cSum = WorksheetFunction.Sum(cl, cSum)
End If
Next cl
SumByColor = cSum
End Function
ich Application.Volitale
versucht, aber kein Glück. F9 aktualisiert die Zellen, die die Funktion enthalten. Allerdings wäre es besser, automatisch zu aktualisieren, falls ich beschäftigt bin oder von meinem WS weggehe. Irgendwelche Ideen?
War 'Application.Volitale' einen Tippfehler in der Frage' Application.Volatile', oder war die Tippfehler in Ihrem ursprünglichen Code und das ist ein Teil des Grundes, warum es nicht funktioniert hat. (Soweit ich weiß, wird das Ändern der Farbe einer Zelle Excel nicht zwingen, eine Neukalibrierung durchzuführen, also bezweifle ich, ob "Volatile" auf jeden Fall helfen wird.) – YowE3K
Das Ändern der Zellenfarben löst keine Berechnung oder ein anderes Ereignis aus So wie ich es sehe, können Sie versuchen, 'Worksheet_SelectionChange' zu verwenden, oder ein Makro erstellen, das sich selbst wiederholt (etwa jede Sekunde) und die Berechnung auslöst. –
Was ist Aktualisierungsbereich CellColor? Sie möchten SumByClor nur aktualisieren, wenn der Bereich die Farbe ändert. Du sagst "oder geh weg von meinem WS". Was rennst du, dass die Zelle Farbe wechselt, während du von deinem Schreibtisch weg bist? Was auch immer es ist, können Sie das Arbeitsblatt neu berechnen lassen? – Winterknell