Excel Benachrichtigung bei Wertänderung

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Entweder bin ich heute für die Formel zu blöd oder es geht doch nicht mit Formeln.
Ich hab dir aber ein Makro geschrieben, das das erledigt:

definiere zwei Bereiche (im selben Blatt): HighSc und HscAlt.

In den Bereich Highsc schreibst du die Highscore-Berechnungsformel oder einen Bezug auf deren Ergebnis.
Dann gehst du ins Kontextmenü des Blattnamens, wählst Code anzeigen und kopierst da rein:
definiere zwei Bereiche (im selben Blatt): HighSc und HscAlt. In den Bereich Highsc schreibst du die Highscore-Berechnungsformel oder einen Bezug auf deren Ergebnis. Dann gehst du ins Kontextmenü des Blattnamens, wählst Code anzeigen und kopierst da rein:

Sub worksheet_change(ByVal Highsc As Range)
If Range("Highsc").Value > Range("HScAlt").Value Then
MsgBox "Gratuliere! Ihr Highscore ist von " & Range("HScAlt").Value & " auf " & Range("Highsc").Value & " gestiegen!"
Range("HScAlt").Value = Range("Highsc").Value
End If
End Sub

(die vielen .Value könnte man sich auch sparen, da .Value das Vorgabe-Argument von Range(1Zelle) bzw Cells(1Zelle) ist, ich schreibs der Klarheit und Nachvollziehbarlkeit wegen aber immer rein.)

Man könnte auch genausogut mit Zelladressen anstatt Bereichsnamen arbeiten, aber so kannst Du das im Blatt beliebig verschieben. (Adressen in Makros sind starr!)

Der Nachteil dieser Lösung ist evtl die Zeitverzögerung, mit der sowohl die Meldung wie dann nochmals die Wertübertragung erfolgen, Aber das ist bei neueren Rechnern vllt schon besser.

Iamiam  10.10.2014, 22:23

die drei doppelten Zeilen musst du dir natürlich wegdenken. Bei längeren AW sieht man halt immer nur einen Ausschnitt und übersieht dann sowas.

Wenn du aber ohnehin eine Wertespalte erstellst, dann schau Dir mal meine Zweite (bzw vorherige) AW im obigen Link an: das müsste analog mit größer machbar sein!

0
Iamiam  16.10.2014, 00:14
@Iamiam

danke für den Stern! Hat es geklappt?
Das mit der Formel hab ich nicht mehr hingekriegt, abere so müsste es ja gehen!

0
Iamiam  19.10.2014, 16:01
@Iamiam

ich hab jetzt doch noch die Formeln hingekriegt, ist gar nicht soo schwierig...
Hab da für ein Spiel ein ganzes "System" erstellt, ist aber etwas zu aufwändig, um es ohne Anlass hier zu posten. Wenn Du noch dran interressiert bist, stelle eine neue Frage, am besten was mit "Wert fixieren" oder "inhalt festschreiben".
Mein "System" enthält auch die Möglichkeit, über mehrere Einzelspiele ein Gesamtspiel aufzubauen und Score-Punkte wieder abzusenken (zB.Punktabzug oder gegnerische Aktionen, die dazu führen)

Ich hab allerdings kein Spiel mit solchen Punktberechnungen programmiert, sondern nur den Teil zur Erfassung der Highscore-Ergebnisse bzw -Zwischenstände..

0

Nein - sicher nicht mit "Boardmitteln", d.h. ohne Programmierung. Zu klären wäre in dem Zusammenhang natürlich auch, welche Art von "Benachrichtigung", also z.B. einfach eine aufpoppende Anzeige im Excel selber oder ein E-Mail.....

himmel200 
Fragesteller
 10.10.2014, 14:14

nur eine kommende anzeige..

0
Iamiam  10.10.2014, 16:33
@himmel200

ja, das geht als Anzeige in einer Zelle, auffällig formatiert.
Aber es ist kompliziert, ich muss da tief graben...
Weiß auswendig nur noch, dass man den Berechnungsmodus Iteration einstellen muss.
Ich komme später drauf zurück!

Ah, da fand ich doch noch schnell das ähnliche Problem, kanns aber nicht sofort anpassen:
www.gutefrage.net/frage/excel-wert-durch-bedingung-unveraenderbar-machen
Das liefert nur ungefähr die Voraussetzung zur Festschreibung eines Werts, um mit dem späteren Wert vergleichen zu können!

0