Ich habe viele Benutzer gesehen, die Fragen stellten, die versuchten, die Farben von Zellen mit benutzerdefinierten Funktionen zu ändern. Ich hatte immer den Eindruck, dass das nicht möglich war. Mein Verständnis war, dass eine benutzerdefinierte Funktion keine Eigenschaften einer Zelle außer dem Wert der Zelle, die die Formel enthält, ändern kann. Subs sind was Zellen selbst verändern.Benutzerdefinierte Funktion zum Ändern der Farbe einer Zelle
Allerdings habe ich festgestellt, dass es nicht immer der Fall ist, wenn ich mit etwas Code experimentiere.
den einfachen Code:
Function ColorCell(rng As Range)
If rng.Value = 1 Then
ColorCell = False
Else
ColorCell = True
rng.Interior.ColorIndex = 3
End If
End Function
Wenn ich die Funktion in eine Zelle eingeben, ich erwartete Ergebnisse erzielen, ändern Sie keine Zellen Farben. Wenn ich jedoch die Schaltfläche Formeln> Funktion einfügen benutze und zu meiner Formel navigiere, um sie so einzufügen, fügt sie die Zielzellen ein.
Wie ist das möglich, und warum hat sich die Funktion anders verhalten, wenn sie auf verschiedene Arten eingegeben wurde?
EDIT: Diese wurde getestet diesen Code Excel 2007
Ich kenne die Antwort nicht, aber beachten Sie, dass wenn Sie die Zellwerte ändern, wird es nicht Ändern Sie die Färbung auch im unteren Fall. Wenn Sie also Zelle A11 zu 1 ändern, bleibt die Zelle rot. – OpiesDad
Richtig, es gibt keine Aktualisierung der Funktion selbst. Außer wenn Sie zurückgehen und "Funktion einfügen" erneut verwenden, aktualisiert * * den Wert/die Farbe. – TMH8885
'Ich fand, dass es nicht immer der Fall ist." Richtig :) Hast du gesehen [This] (http://stackoverflow.com/questions/23433096/using-a-udf-in-excel-to-update-the- Arbeitsblatt) –