Hallo Boris!
Zunächst mal gebe ich Dir recht zu dem Satz "So was macht man auch nicht... "
Dummerweise wird diese Geschichte aber hier im Forum immer wieder von den Leuten verlangt. Deshalb sind Behelfslösungen wie die mit Zelle.Zuordnen durchaus erwähnenswert und nützlich.
Zu meinem LÖsungsansatz, den ich für die bedingte Formatierung genommen habe, habe ich mir nochmals Gedanken gemacht. Das Problem dabei ist, dass Du ja überall da, wo man eine bedingte oder eine normale Formatierung festlegt, dies auffangen müsste. Also überall da, wo der entsprechende Befehl mit einem Menübefehl, mit einem Symbolschalter, mit einem Shortcut, per Kopieren, Drag and Drop erzeugt wird.
Nun habe ich mir einen anderen Lösungsansatz überlegt. Bei dem wird einfach beim Verlassen einer Zelle, das was von dieser Zelle abhängig ist - also eine Formel, die zur Berechnung darauf zugreift - neuberechnet.
Das sähe dann so aus:
im Workbook-Modul:
-------------------------------------------------------
Dim r_OldTarget As Range
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
If Not r_OldTarget Is Nothing Then
On Error Resume Next
Application.EnableEvents = False
r_OldTarget.Dependents.Calculate
End If
Set r_OldTarget = Target
Application.EnableEvents = True
End Sub
--------------------------------------------------------
und in einem Standard-Modul z.B.
Function Hintergrundfarbe(Zelle As Range) As Integer
Application.Volatile
Hintergrundfarbe = Zelle.Interior.ColorIndex
End Function
Neu berechnet wird bei diesem Ansatz allerdings leider erst, wenn ich die Zelle, deren Hintergrundfarbe ich geändert habe, verlassen habe.
Gruß
Manes
Ob ich Spotlight gut finde?
Also wenn ich ehrlich sein soll, müsste ich lügen!
geschrieben von
manes
,
06.10.2005, 08:13 Uhr
, 17 mal gelesen