HERBERS Excel-Forum - das Archiv
Target und Worksheet_Change
Wolfgang

Hallo Excelprofis
Ich hab ein Problem mit der Worksheet_Change Prozedur.
Anbei der Code.
Das Makro soll 2 Spalten prüfen
- Änderungen in der Spalte G -- > Zellen löschen
- Änderungen in der Spalte Q -- > Zellen löschen und ein bestimmtes Makro Starten.
Das Ereignis der Spalte G klappt auch.
Nur wenn das Ereignis in der Spalte Q eintritt werden die Makros nicht gestartet.
Beim Debuggen kommt die Fehlermeldung
>Objektvariable oder With-Blockvariable nicht festgelegt<
Welche Objektvariable habe ich denn bloß vergessen ?
Hat jemand einen Tipp
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Application.Intersect(Target, Range("G10:G1000")) Is Nothing Then
Cells(Target.Row, 8) = ""
Cells(Target.Row, 10) = ""
End If
If Not Application.Intersect(Target, Range("Q10:Q1000")) Is Nothing Then
Cells(Target.Row, 24) = ""
Cells(Target.Row, 25) = ""
If Target.Value = "Test1" Then Call Makro1
If Target.Value = "Test2" Then Call Makro2
If Target.Value = "Test3" Then Call Makro3
End If
End Sub

Nichts zu sehen! Das wird wohl am...
Luc:-?

...auslösenden Ereignis liegen, Wolfgang...
Target hat nämlich nur dann bspw den Wert "Test1", wenn das Ereignis dadurch ausgelöst wird, dass du (oder eine Subroutine) in eine Zelle der Spalte Q genau diesen Wert hineinschreib(s)t... !!!
Gruß Luc :-?
AW: Nichts zu sehen! Das wird wohl am...
Wolfgang

Hallo Luc
Danke für Deine schnelle Antwort
Beim Debuggen hat Target ja den Wert der das Makro auführen soll
aber nur bis zu der Stelle " Cells(Target.Row,24)="" und dann gehts nicht weiter
Also die If Routine wird nicht durchlaufen .
Und das verstehe ich halt nicht.
Gruß Wolfgang
Du wirst doch nicht das Target damit löschen,...
Luc:-?

...Jörg,
das wäre ja so nicht ersichtlich...
Luc :-?
AW: Du wirst doch nicht das Target damit löschen,...
Wolfgang

Hallo Luc
was meinst Du damit
?
Ich Lösche das Target ja nicht
es wird ja nur die benannte Zelle gelöscht
Bei der ersten Schleife werden ja auch alle Zeilen abgearbeitet.
Mich macht ja nur stutzig warum die Fehlermeldung
>Objektvariable oder With-Blockvariable nicht festgelegt <
kommt
gruß wolfgang
AW: Nichts zu sehen! Das wird wohl am...
Reinhard

Hallo Wolfgang,
durch
Cells(Target.Row,24)=""
wird dein Change-Ereignis mehrfach durchlaufen, mit unterschiedlichen targets.
Stell das ab durch
Application.EnableEvents=True/false
Das On Error gehört auch erstmal raus.
Ich kann auch im Code nichts feststellen was diese Fehlermeldung bewirken könnte.
Gruß
Reinhard
AW: Nichts zu sehen! Das wird wohl am...
Wolfgang

Hallo Reinhard
Ich glaube genau das wars
Application.EnableEvents
Wenn man nochmal drüber nachdenkt ist das auch logisch.
Es klappt jedenfalls hervorragend (Makro ist auch schneller)
Danke
gruß Wolfgang