Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1348to1352
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

Aktion bei Änderung von Zellinhalten

Aktion bei Änderung von Zellinhalten
12.02.2014 12:31:22
Zellinhalten
Hallo Leute,
ich überprüfe die Zelle A1 auf Änderungen über folgendes Makro:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
... (hier kommt die Aktion) ...
End If
End Sub

Das funktioniert wunderbar, solange ich diese Zelle "von Hand" ändere.
Es funktioniert leider nicht, wenn der Inhalt von A1 (über Aktualisieren) durch eine Datenverbindung ins Internet geändert wird.
Das Problem scheint zu sein, dass die Änderung nicht "von Hand" erfolgt, sondern berechnet wird. Denn es funktioniert auch nicht, wenn in A1 z.B. eine Formel steht, deren Ergebnis sich ändert.
Was muss ich machen, damit die Aktion trotzdem ausgeführt wird?
Herzlichen Dank im Voraus!
Gruß Hannes

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktion bei Änderung von Zellinhalten
12.02.2014 13:58:56
Zellinhalten
Hi Hannes,
in diesem Fall musst du das Calculate-Ereignis des Tabellenblattes benutzen, um die Aktion auszuführen. Allerdings reagiert dies auch, wenn Formelergebnisse im Tabellenblatt neu berechnet werden.


AW: Aktion bei Änderung von Zellinhalten
12.02.2014 16:02:33
Zellinhalten
Hallo Beverly,
danke zunächst für die Antwort, aber das löst das Problem leider noch nicht. Vielleicht mache ich aber auch noch etwas falsch. Ich habe jetzt:
Private Sub Worksheet_Calculate()
End Sub
als Trigger eingesetzt. Excel steigt aber nach einem Aktualisieren der Datenverbindung ins Internet nicht in die Prozedur ein. Selbst eine Kalkulation innerhalb des Blattes, die aufgrund sich ändernder Werte in dem Blatt ausgeführt wird, führt zu keinem Einstieg in die Prozedur. Erst eine von Hand durchgeführte Änderung in dem Blatt löst einen Prozedureinstieg aus.
Muss ich noch irgndwelche Optionen bei Excel anders setzten oder nutze ich das Calculate-Ereignis falsch?
Gruß Hannes

Anzeige
AW: Aktion bei Änderung von Zellinhalten
12.02.2014 16:44:46
Zellinhalten
Hi Hannes,
schreibe noch in eine (beliebige) Zelle die Formel ZUFALLSZAHL().


AW: Aktion bei Änderung von Zellinhalten
12.02.2014 18:45:51
Zellinhalten
Hi Beverly,
so leid es mir tut, aber das funktioniert nicht!
Über "Aktualisieren" der Verbindung werden neue Werte aus dem Internet geholt. Es wird eine neue Zufallszahl berechnet, aber es findet kein Prozeduraufruf statt. Sämtliche anderen Berechnungen, die mit den neuen Werten aus dem Internet zu anderen Ergebnissen führen, führen auch zu geänderten Werten im Tabellenblatt. Aber es gibt keinen Prozeduraufruf!
Wenn ich in dem Blatt von Hand eine Zelle ändere findet mit Drücken der Taste "Return" der Prozeduraufruf statt.
Hast Du noch eine andere Idee?
Gruß Hannes

Anzeige
AW: Aktion bei Änderung von Zellinhalten
12.02.2014 19:18:34
Zellinhalten
Hi Hannes,
lade doch mal deine Mappe hoch, damit man sich das anschauen kann.


AW: Aktion bei Änderung von Zellinhalten
12.02.2014 21:00:52
Zellinhalten
Hi Beverly,
ich habe das Beispiel jetzt etwas abgespeckt und Erklärungen beigefügt. Ich hoffe, man kann mein Vorhaben damit besser verstehen ... ;-)
https://www.herber.de/bbs/user/89255.xlsm
Gruß Hannes

AW: Aktion bei Änderung von Zellinhalten
12.02.2014 23:09:34
Zellinhalten
Hi Hannes,
in deiner Mappe gibt es kein Calculate-Ereignis - kein Wunder, wenn nichts funktioniert!! Ich habe deshalb in das Codemodul das Tabellenblattes folgenden Code eingefügt:
Private Sub Worksheet_Calculate()
MsgBox "Hallo"
End Sub
Wenn ich nun auf Daten -&gt Verbindungen aktualisieren gehe, wird sofort die MsgBox angezeigt - also genau das was du erreichen willst. Nur musst du deinen Code, der ausgeführt werden soll, anstelle der MsgBox einbinden.


Anzeige
AW: Aktion bei Änderung von Zellinhalten
13.02.2014 09:39:39
Zellinhalten
Hi Beverly,
beim Zusammenstellen des Beispiels habe ich die alte Version mit dem Change-Ereignis dargestellt, weil es mit dem Calculate-Ereignis ja auch nicht funktioniert hat.
Dein Beispiel kann ich jetzt allerdings nachvollziehen und es funktioniert auch - frag mich nicht, warum meine Version nicht funktioniert hat. Allerdings habe ich jetzt mit meinem Code einen rekursiven Aufruf des Calculate-Ereignisses. Das führt noch zu Problemen, die ich aber glaube ich selbst lösen kann.
Erst einmal besten Dank für Deine Hilfe!
Gruß Hannes

AW: Aktion bei Änderung von Zellinhalten
12.02.2014 19:40:45
Zellinhalten
Ergänzung:
... selbst "neu berechnen" oder "Blatt berechnen" führt nicht zu einem Einsprung in
Private Sub Worksheet_Calculate()
... übrigens auch nicht in
Private Sub Worksheet_Change(ByVal Target As Range)
wie in meiner ersten Version. Nur das händische Ändern von Zellen in dem Blatt selbst, das eine Kalkulation ebendieser Zelle oder anderen Zellen zur Folge hat.
Ist das ein Excel-Prinzip?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige