HILFE :-) *** Change Ereignis

20/09/2007 - 22:32 von Ingo | Report spam
Hi Profis,

ich würde mich über eine Erleuchtung von Euch sehr freuen :-)

Für folgende Ausganslage

"Gibt es die Möglichkeit eine Zelle zu überwachen, ob der darin enthaltene
Wert sich àndert? Wenn ja, soll das Feld farblich markiert werden."

habe ich schon einen Tipp bekommen.

FOlgender VBA-COde kommt der Lösung meines Problems nahe.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Me.Range("k33")) Is Nothing Then Exit Sub
Target.Font.ColorIndex = 5
End Sub

FOlgende Probleme sind noch da:

1) Dieser Code bewirkt eine Änderung des Ergebnisses in Zelle k33 nur dann,
wenn ich manuell die Zahl in k33 àndere. Es ist aber so, dass in k33
letztendlich so was steht wie =Summe(k1:k10). Wenn ich den Wert in k1 - k10
àndere bleibt die Farbe in k33 unveràndert. Wie kann ich den Code abàndern,
dass sich die Farbe bei meiner Vorgehensweise àndert?

2) Mir ist aufgefallen, dass nachdem die Bedingung des Codes erfüllt ist und
er die Zellfarbe in k33 àndert, dass dann alle letzen Änderungen zur
RÜckverfolgung gelöscht werden. Das ist ungünstig, wenn man in einer Tabelle
voller Zahlen arbeitet und "STRG-Z" nicht mehr funktioniert. Muss ich damit
leben, oder làßt sich die Möglichkeit auf "Rückgàngigmachen" erhalten? DAbei
geht es mir nicht um das Rückgàngigmachen der Farbànderung, sondern über das
Rückgàngigmachen der ganzen Zahleneingaben, die ich mache.

3) Ich möchte nicht, dass sich die Textfarbe àndert, sondern die
Hintergrundfarbe der Zelle. Wie muss ich den Code àndern? Mein Versuch war
"Target.Interior.ColorIndex = 7". Das funktioniert aber nicht.


Vielen Dank für Hilfe!!!!
ingo
 

Lesen sie die antworten

#1 Claus Busch
20/09/2007 - 23:09 | Warnen spam
Hallo Ingo,

Am Thu, 20 Sep 2007 13:32:04 -0700 schrieb Ingo:

FOlgende Probleme sind noch da:

1) Dieser Code bewirkt eine Änderung des Ergebnisses in Zelle k33 nur dann,
wenn ich manuell die Zahl in k33 àndere. Es ist aber so, dass in k33
letztendlich so was steht wie =Summe(k1:k10). Wenn ich den Wert in k1 - k10
àndere bleibt die Farbe in k33 unveràndert. Wie kann ich den Code abàndern,
dass sich die Farbe bei meiner Vorgehensweise àndert?



wenn du eine berechnete Zelle überwachen willst, müsstest du das
Worksheet_Calculate-Ereignis nutzen.

2) Mir ist aufgefallen, dass nachdem die Bedingung des Codes erfüllt ist und
er die Zellfarbe in k33 àndert, dass dann alle letzen Änderungen zur
RÜckverfolgung gelöscht werden. Das ist ungünstig, wenn man in einer Tabelle
voller Zahlen arbeitet und "STRG-Z" nicht mehr funktioniert. Muss ich damit
leben, oder làßt sich die Möglichkeit auf "Rückgàngigmachen" erhalten? DAbei
geht es mir nicht um das Rückgàngigmachen der Farbànderung, sondern über das
Rückgàngigmachen der ganzen Zahleneingaben, die ich mache.



Warum überwachst du nicht die Zellen, in welche die Eingaben gemacht
werden? Ich habe hier ein Beispiel, bei dem Kommentare eingefügt werden,
die die Werte aufzeichnen, damit du jederzeit wieder die Ausgangswerte zu
einem bestimmten Zeitpunkt wieder herstellen könntest. Schau sie dir mal
an:
http://www.claus-busch.de/Excel/Aen...folgen.xls

3) Ich möchte nicht, dass sich die Textfarbe àndert, sondern die
Hintergrundfarbe der Zelle. Wie muss ich den Code àndern? Mein Versuch war
"Target.Interior.ColorIndex = 7". Das funktioniert aber nicht.



Das sollte so aber funktionieren.


Mit freundlichen Grüssen
Claus Busch
Win XP Prof SP2 / Vista Ultimate
Office 2003 SP2 / 2007 Ultimate

Ähnliche fragen