Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1092to1096
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
Inhaltsverzeichnis

Worksheet_Change

Worksheet_Change
sile1234
Hallo zusammen,
ich muss verschiedene Zellbereiche auf Änderungen überwachen und wenn in den Bereichen Änderungen vorgenommen werden 2 anderen Zellen löschen. Komischerweise reagiert das Worksheet_Change nur wenn ich "entf" auf meiner Tastatur drücke während ich in den "beobachteten" Zellbereichen bin. Aber wenn ich einfach einen anderen Text dort reinschreiben, dann passiert nichts.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Kontrollbereich
Kontrollbereich = Array("$G$29:$K$29", "$O$29:$S$29", "$G$32:$K$32", "$O$32:$S$32")
For i = 0 To UBound(Kontrollbereich)
If Target.Address = Kontrollbereich(i) Then
Application.Workbooks("Test.xls").Worksheets("Test").Cells(35, 7).Value = ""
Application.Workbooks("Test.xls").Worksheets("Test").Cells(35, 15).Value = ""
Else
End If
Next
End Sub
Hat jemand von Euch eine Idee warum es nur auf "entf" reagiert?
Viele Dank und Gruß
Sile1234

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

Betreff
Benutzer
Anzeige
AW: Worksheet_Change
02.08.2009 16:10:16
Daniel
HI
das ist ganz einfach, wenn du einen Text in Zelle schreibst, dann ist der Addressstring von Target auch nur "$G$29" und das findet natürlich nie eine Übereinstimmung mit deiner Prüfung.
für solche Prüfungen verwendet man normalerweise die Intersect-Funktion:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Kontrollbereich ar Range
Set Kontrollbereich = Range("$G$29:$K$29,$O$29:$S$29,$G$32:$K$32,$O$32:$S$32")
if Not Intersect(Target, Kontrollbereich) Is Nothing then
Application.Workbooks("Test.xls").Worksheets("Test").Cells(35, 7).Value = ""
Application.Workbooks("Test.xls").Worksheets("Test").Cells(35, 15).Value = ""
Else
End If
Next
End Sub

Gruß, Daniel
Anzeige
AW: Worksheet_Change
02.08.2009 16:19:33
sile1234
Argl ... logisch ... vielen vielen Dank

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige