Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
756to760
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
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Makro starten durch Zelländerung
24.04.2006 13:35:50
Stefan
Hallo zusammen,
ich habe mir ein Formular erstellt (ohne Userform),
indem 10 Textfeldern enthalten sind. Es müssen mind. 6 Textfelder ausgefüllt werden. Jetzt habe ich jedes Feld mit einer Zelle verlinkt, die dann eine 1 enthält, wenn das jeweilige Textfeld beschrieben wird.
Zelle R19 enthält eine Formel zur Summenbildung und soll überwacht werden.
Wenn R19 = 6 ist, soll ein Makro gestartet werden (bekomme ich nicht hin).
Ich habe jetzt diesen Code:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$R$19" Then
Call makro
Else: Exit Sub
End If
End Sub

Könnt Ihr mir bitte dabei helfen ?
Es funktioniert, solange ich R19 per Hand geändert wird.
Bei Änderung durch die Formel tut sich gar nichts.
Danke vorab für Eure Mühe.
Gruß Stefan

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro starten durch Zelländerung
24.04.2006 14:30:26
Franz
Hallo Stefan,
das Change-Ereignis reagiert nicht auf Wertänderungen in Formeln. Du muß Änderungen der 10 Textfelder überwachen und den Wert von R19 abfragen. Etwa so:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A2:A11")) Is Nothing Then
If Range("R19").Value >= 6 Then
Call makro
Else
Exit Sub
End If
End If
End Sub

In diesem Beispiel sind die 10 Texteingabefelder im Bereich A2:A11. Falls die 10 Textfelder verstreut in der Tabelle sind, dann kannst du die Target-Adressen über Or in der If-Bedingung prüfen:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$2" Or Target.Address = "$A$4" Or Target.Address = "$C$2" _
Or Target.Address = "$C$4" Or Target.Address = "$E$2" Or Target.Address = "$E$4" _
Or Target.Address = "$G$2" Or Target.Address = "$G$4" Or Target.Address = "$H$2" _
Or Target.Address = "$H$2" Then
If Range("R19").Value >= 6 Then
MsgBox "Call makro"
Else
Exit Sub
End If
End If
End Sub

Gruß
Franz
Anzeige
AW: Makro starten durch Zelländerung
24.04.2006 15:35:50
Stefan
Hallo Franz,
vielen Dank für Deine Hilfe. So gehts !
Gruß Stefan

36 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige