Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

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"