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

Worksheet_Change läuft im Kreis!

Worksheet_Change läuft im Kreis!
17.07.2007 10:20:11
Wolli
Moin Moin,
ich versuche gerade, eine Antwort auf https://www.herber.de/forum/messages/887779.html zu schreiben, aber meine Ereignisprozedur läuft im Kreis:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1) = Cells(21, 7) Then
Debug.Print Target.Cells(1).Address
Cells(1, 1) = Cells(21, 7)
End If
End Sub


Wenn ich Zelle (21,7) ändere, wird der If-Block ausgeführt und ändert seinerseits Zelle (1,1). Daraufhin wird das Makro erneut ausgeführt, der If-Block ebenfalls, obwohl Target doch NICHT mehr (21,7) ist! Debug.Print sagt mir auch $A$1.
Wiesooooooooo?
Gruß, Wolli

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change läuft im Kreis!
17.07.2007 10:30:00
ChrisL
Hi Wolli
Dat geht so...

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Goto ErrorHandler
If Target.Cells(1) = Cells(21, 7) Then
Application.EnableEvents = False
Debug.Print Target.Cells(1).Address
Cells(1, 1) = Cells(21, 7)
Application.EnableEvents = True
End If
Exit Sub
ErrorHandler:
Application.EnableEvents = True
End Sub


Gruss
Chris

AW: Worksheet_Change läuft im Kreis!
17.07.2007 10:42:00
Wolli
Hallo Chris, vielen Dank. Ich finde das Arbeiten mit dem EnableEvents aber etwas zu mühsam, daher habe ich ja die If-Abfrage eingebaut. Mir ist nur rätselhaft, warum der If-Block beim 2. Aufruf ausgeführt wird. Gruß, Wolli

Anzeige
AW: Worksheet_Change läuft im Kreis!
17.07.2007 10:31:52
Rudi
Hallo,
nur ausführen, wenn Zelle U7 geändert wird?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.address= Cells(21, 7).address Then
Debug.Print Target.Cells(1).Address
Cells(1, 1) = Cells(21, 7)
End If
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Worksheet_Change läuft im Kreis!
17.07.2007 10:40:00
Wolli
Hallo Rudi, so geht's, danke schön. Aber hast Du eine Ahnung, warum er bei mir im Kreis gelaufen ist? Mein Target im zweiten Falle war doch definitiv nicht die Range "cells(21,7)", und dennoch hat Excel die Ereignisprozedur ein zweites Mal ausgeführt. Gruß, Wolli

Anzeige
AW: Worksheet_Change läuft im Kreis!
17.07.2007 10:52:00
Rudi
Hallo,
du hast nicht die Adresssen sondern die Inhalte verglichen und die waren gleich.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Rudi, Du bist klug. Merci :-) owT
17.07.2007 10:58:00
Wolli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige