Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn sich Zellenwert ändert dann...

Wenn sich Zellenwert ändert dann...
24.05.2016 17:58:34
Lukas
Hallo, ich brauche ein Ereignis in Excel, das jedes mal ausgelöst wird, wenn in einer Zelle der Wert geändert wird. Also wenn etwas hineingeschrieben wird.
Wenn das Ereignis ausgelöst wird möchte ich außerdem herausfinden, in welcher Zelle sich etwas geändert hat.
Danke für die Antworten schon im Voraus!

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn sich Zellenwert ändert dann...
24.05.2016 18:06:14
Daniel
Hi
schau dir mal das Worksheet_Change-Event an.
in der Variablen Target sind die geänderten Zellen hinterlegt.
Gruß Daniel

AW: Wenn sich Zellenwert ändert dann...
24.05.2016 18:10:35
Lukas
Vielen Dank für deine Antwort!
Und wie kann ich prüfen ob eine Formel sich geändert hat (passiert automatisch)?

AW: Wenn sich Zellenwert ändert dann...
24.05.2016 18:28:28
Daniel
Hi
das Calculate-Event startet wenn auf dem Blatt irgendeine Zelle neu berechnet wird.
Es ist aber weder möglich irgendwo auszulesen, welche Zellen neu berechnet wurden und welche Zellen dabei geändert wurden.
Um einzelne Zellne auf Änderung zu überprüfen, könntest du die Alt-Werte in einer Statischen Variablen ablegen und mit dem Wert aktuellen Wert vergleichen.
Statische Variablen behalten ihren Wert bei Makroende.
Da sie bei Dateistart aber immer erstmal leer sind, wird bei der ersten neuberechnung nach Makrostart eine Änderung angezeigt:
private Sup Worksheet_Calculate()
static WertA1 as variant
If Range("A1").Value  WertA1 then
Msgbox "Wertänderung in A1"
WertA1=Range("A1").Value
end if
End Sub
gruß Daniel

Anzeige
AW: Wenn sich Zellenwert ändert dann...
24.05.2016 18:33:47
Lukas
Das mit den statischen Variablen bringt nichts... ich muss irgendwie wissen welche der Zellen neu berechnet wurde...

AW: Wenn sich Zellenwert ändert dann...
24.05.2016 18:52:35
Daniel
du musst prinzipell jeden Zellwert überwachen.
wenns viele sind, kannst du ja ein Array anlegen oder die Werte als Festwerte in eine Paralleltabelle kopieren (als Wert) und dann per Schleife die Wert aus der Paralleltabelle mit den Formelwerten vergleichen.
das mit der Paralleltabelle hätte auch den Vorteil, dass deine "alt-Werte" auch bei Makrostart schon vorhanden sind und nicht erstmal jeder Wert "geändert" erkannt wird.
gruß Daniel

Anzeige
AW: Wenn sich Zellenwert ändert dann...
24.05.2016 19:25:52
Lukas
Ich müsste alle Zellen in Excel in das Array packen... das geht nicht...

AW: Wenn sich Zellenwert ändert dann...
24.05.2016 19:48:10
Daniel
ich schreib ja, dass du alternativ die Werte auch kopieren und in zweites Tabellenblatt einfügen kannst.
das geht auf jeden Fall (wenn du nicht extrem viele Daten hast)
Daniel

AW: Wenn sich Zellenwert ändert dann...
24.05.2016 20:22:06
Lukas
Ich habe eine andere Lösung gefunden, die in diesem Fall auch funktioniert.
Mein Makro hätte in einem anderen Tabellenblatt Änderungen vorgenommen wenn in der Zelle die geändert wurde (nur bestimmte - hätte ich mit Überschrift darüber prüfen können ob diese Zelle relevant ist). Ich stelle nun einfach per Makro einen Bezug zu der Zelle her.
Danke für deine Hilfe trotzdem!

Anzeige
AW: Wenn sich Zellenwert ändert dann...
24.05.2016 19:00:46
ChrisL
Hi Lukas
Bleibst du beim Change-Ereignis, dann müsstest du die Eingabezellen überwachen, welche zum Formelergebnis führen.
Oder eben du überwachst das Formelergebnis (siehe Vorschlag Daniel).
Bei Variante 1 ist Target die geänderte Zelle, bei Variante 2 ist es die im Code definierte Zelle.
cu
Chris

AW: Wenn sich Zellenwert ändert dann...
24.05.2016 19:27:02
Lukas
Ich muss beim Calculate-Ereignis alle Zellen in Excel überwachen!

AW: Crossposting
24.05.2016 19:05:01
Daniel
bitte nicht vergessen, in ALLEN Foren, in denen du die Frage gestellt hast, auf Antworten Feedback zu geben und Rückfragen zu beantworten!
auch wenn du in einem Forum schon eine zufriedenstellende Antwort erhalten hast.
jeder Antworter hat sich ein Dankeschön von dir verdient, egal in welchem Forum.
Gruß Daniel

Anzeige
AW: Crossposting
24.05.2016 19:05:17
Daniel
bitte nicht vergessen, in ALLEN Foren, in denen du die Frage gestellt hast, auf Antworten Feedback zu geben und Rückfragen zu beantworten!
auch wenn du in einem Forum schon eine zufriedenstellende Antwort erhalten hast.
jeder Antworter hat sich ein Dankeschön von dir verdient, egal in welchem Forum.
Gruß Daniel

AW: Crossposting
24.05.2016 19:24:53
Lukas
Ich habe ja auch vor mich zu bedanken, habe gerade gegessen und deshalb keine Zeit gehabt!
Ich habe mich bisher noch für alles bedankt!!

7 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige