Wenn berechneter Zellwert sich ändert dann Makro
Betrifft: Wenn berechneter Zellwert sich ändert dann Makro
von: Stefan
Geschrieben am: 16.11.2014 07:20:33
Hallo liebe Leute,
ich hänge seit Tagen fest, komme nicht weiter, langsam frage ich mich ob das überhaupt funktioniert? Aufgabe: Wenn sich ein Zellwert (A3) ändert, soll ein Makro aufgerufen werden. Das Besondere, der Zellwert A3 wird berechnet (=A1+A2). Ich habe mit "Worksheet_Calculate" rumexperimentiert, komme aber nicht zu dem gewünschtem Ergebnis. Könnt Ihr mir helfen? Vielen Dank im vorraus.
MfG Stefan
Betrifft: AW: Wenn berechneter Zellwert sich ändert dann Makro
von: Oberschlumpf
Geschrieben am: 16.11.2014 08:13:56
Hi Stefan
schau dir mal das hier an
http://www.office-loesung.de/ftopic597675_0_0_asc.php
oder das hier
http://www.ms-office-forum.net/forum/showthread.php?t=197168
Hilfts?
Ciao
Thorsten
Betrifft: AW: Wenn berechneter Zellwert sich ändert
von: Crazy Tom
Geschrieben am: 16.11.2014 08:15:05
Hallo Stefan
bei mir geht es so
Private Sub Worksheet_Calculate()
MsgBox "Hallo Stefan"
End Sub
MfG Tom
Betrifft: AW: Wenn berechneter Zellwert sich ändert
von: Oberschlumpf
Geschrieben am: 16.11.2014 08:17:12
Hi Tom
dein Code wird aber bei jeder Berechnung ausgeführt - Code soll aber nur bei Änderung durch Formel in A3 ausgeführt werden.
Ciao
Thorsten
Betrifft: AW: Wenn berechneter Zellwert sich ändert
von: Crazy Tom
Geschrieben am: 16.11.2014 08:23:18
Hallo Thorsten
bin mir schon bewusst, dass es bei jeder Berechnung ausgelöst wird
aber ich habe herausgelesen, dass es sich nur um eine Zelle handeln soll
und erwartungsgemäß kommen gleich noch ein paar andere Bedingungen hinzu
MfG Tom
Betrifft: AW: Wenn berechneter Zellwert sich ändert
von: Stefan
Geschrieben am: 16.11.2014 09:01:42
Hi Leute, Ihr seid fantastisch!
Mit einer so schnellen Lösung habe ich nicht gerechnet,
vielen-vielen Dank Euch Allen.
Meine Lösung (von Euch):
-----------------------------------------------
Option Explicit
Public vorhWert As Long
Sub Worksheet_Calculate()
If Range("$A$3") = vorhWert Then
Exit Sub
Else
MsgBox "Makro gestartet!"
End If
vorhWert = Range("$A$3")
End Sub
-----------------------------------------------
Nun funktioniert's ??? Wenn sich der berechnete Wert (=A1+A2) in Zelle A3 ändert,
dann wird ein Makro gestartet. Prima!
Vielen Dank
MfG Stefan
Betrifft: AW: Wenn berechneter Zellwert sich ändert
von: Stefan
Geschrieben am: 16.11.2014 19:19:01
Hi Tom,..
ich habe mich leider zu früh gefreut :-(
Du hattest recht, wenn in einer beliebigen Zelle ein Wert geändert wird, wird das Makro ausgeführt.
Das Makro sollte aber nur ausgeführt werden wenn nur A3 verändert wird.
Hast Du dafür eine Idee wie man das machen könnte.
LG Stefan
Betrifft: AW: Wenn berechneter Zellwert sich ändert
von: Crazy Tom
Geschrieben am: 16.11.2014 19:30:51
Hallo
so wird in meinem Test das Makro nur ausgeführt wenn sich A3 ändert
Public alterWert As Double
Sub Worksheet_Calculate()
If Range("A3") = alterWert Then
Exit Sub
Else
alterWert = Range("A3")
MsgBox "Hallo Stefan"
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
alterWert = Range("A3").Value
End Sub
MfG Tom
Betrifft: AW: Wenn berechneter Zellwert sich ändert
von: Stefan
Geschrieben am: 16.11.2014 19:57:16
Hi Tom,..
supergenial, genau so soll es funktionieren.
Nur wenn in A3 der berechnete Wert sich ändert, soll das Makro ausgeführt werden.
Ganz recht herzlichen Dank für diese superschnelle Lösung.
LG Stefan
Beiträge aus den Excel-Beispielen zum Thema "Wenn berechneter Zellwert sich ändert dann Makro"