Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Konflikt Change Event und Zeile löschen

Konflikt Change Event und Zeile löschen
12.10.2021 14:38:33
Burghard
Hallo,
ich habe ein Problem mit einer Prozedur (siehe nachfolgend). Wenn ich eine Zeile löschen will, hängt sich Excel auf. Das Change-Ereignis und das Löschen vertragen sich wohl nicht.
"On Error ..." kann das Problem nicht vermeiden. Auch "errHandler" hilft nicht. Weiß jemand, wie der Konflikt gelöst werden kann?
Grüße
Burghard
========================

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo nix
Application.ScreenUpdating = False
letztezeile = ActiveSheet.SpecialCells(xlCellTypeLastCell).Row
If IsEmpty(Target.Value) Then
Target.RowHeight = 26
Else
If Target.RowHeight 
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Konflikt Change Event und Zeile löschen
12.10.2021 14:45:36
Peter
Hängt sich Excel wirklich auf? Ich würde die Sprungadresse "nix:" vor a...Screenuptating=True schreiben. Das ist vielleicht der Grund, warum Excel scheinbar nicht mehr reagiert.
AW: Konflikt Change Event und Zeile löschen
12.10.2021 14:52:44
Burghard
Sorry, hab ich vergessen explizit zu erwähnen: Wenn ich eine Zeile händisch (ohne Makro) löschen will, kommt es zu einem Problem/einer Blockade mit dem Makro.
Anzeige
AW: Konflikt Change Event und Zeile löschen
12.10.2021 15:06:07
Peter
Dann am Anfang vielleicht einfügen
If Target is nothing then exit sub
Ist schwierig vom Mobile aus zu helfen...
AW: Konflikt Change Event und Zeile löschen
12.10.2021 15:07:10
Werner
Hallo,
mach mal ganz am Anfang deines Makros:

If Target.CountLarge > 1 Then Exit Sub
Gruß Werner
AW: Konflikt Change Event und Zeile löschen
12.10.2021 16:04:44
Peter
Hallo Burghard, ich bin jetzt am PC und habe deinen Code - etwas vereinfacht - umgesetzt.
Keine Fehler, kein Aufhängen!?

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LetzteZeile As Long
Application.ScreenUpdating = False
LetzteZeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Target.RowHeight 
Dir ist aber schon klar, dass du die Zeilenhöhe 26 auf die Zeile mit der veränderten Zelle anwendest, die Rahmenformatierungen aber immer auf die letzte Zeile!? Das musst du wissen...
Beim Löschen einer Zeile enthält Target die darauffolgende und gibt ihr Zeilenhöhe 26...
Anzeige
AW: Konflikt Change Event und Zeile löschen
12.10.2021 16:38:31
Burghard
Hallo Peter,
danke für Deinen Durchhaltewillen. :-) Es funktioniert! Keine Blockade/kein Aufhängen mehr! Danke!
Grüße
Burghard
AW: Konflikt Change Event und Zeile löschen
12.10.2021 14:47:34
Werner
Hallo,
und wo bitte wird da jetzt eine Zeile gelöscht?
Dann ja wohl in einem anderen Makro.
Einfach vor die Codezeile in der du die Zeile löschst:

Application.EnableEvents = False
'hier deine Codezeile zum Löschen
Application.EnableEvents = True
Gruß Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige