Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
328to332
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
328to332
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Macrostart bei zellenänderung mit Formel

Macrostart bei zellenänderung mit Formel
01.11.2003 22:17:41
ThomasK
Hallo Excel VBA Profis,

ich möchte ein Macro ausführen lassen, wenn der Wert einer Zelle durch eine Formel in dieser Zelle geändert wird. In der Zelle T25 steht =SUMME(T22+T24).
bei meinem untenstehenden Macro funktioniert es nur solange in der Zelle T24 kein wert steht und sich der Wert in Zelle T22 ändert. Sobald in beiden Zellen ein Wert steht tut sich nichts mehr.
Vielen Dank im Voraus.


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target = Range("T25") Then
Call CopyKasse
End If
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macrostart bei zellenänderung mit Formel
01.11.2003 22:22:37
PeterW
Hallo Thomas,


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$T$22" Or Targe.Address = "$T$24" Then
Call CopyKasse
End If
End Sub

Gruß
Peter
Falscher Ansatz...
01.11.2003 22:24:33
Ramses
Hallo


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$T$22" Or Target.Address = "$T$24" Then
Call CopyKasse
End If
End Sub


Gruss Rainer
evtl. noch offen
01.11.2003 22:37:54
Reinhard
Hallo Thomas,
es war Zufall dass dein Makro überhaupt mal klappte.
Mit deiner If-Abfrage vergleichst du den Inhalt von Target mit dem von Zelle T25.
Also nicht ob sich in der Zelle T25 was geändert hat.

Also müßte deine If-Abfrage z.B. so aussehen:
If Target.Address(0, 0) = "T25" Then

Leider klappt das nicht, weil Change nur ausgelöst wird bei direkter Änderung in T25. Wenn dies durch =T22+T24" geschieht wird es nicht erkannt.

Du musst also T22 und T24 überwachen, nicht T25.
Ergo:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address(0, 0) = "T22" Or Target.Address(0, 0) = "T24" Then
Call CopyKasse
End If
End Sub


Sub CopyKasse()
'Zum Testen
MsgBox "inSub"
End Sub

Gruß
Reinhard
Anzeige
AW: Macrostart bei zellenänderung mit Formel
02.11.2003 08:50:52
Hajo_Zi
Hallo Thomas

das Wort Summe in Deiner Formel ist überflüssig

=SUMME(T22+T24)

da Du ja schon schreibst T22+T24

Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.


309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige