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

Worksheet_Change

Forumthread: Worksheet_Change

Worksheet_Change
02.11.2004 13:24:18
Gregor
Hallo
Mit folgendem Makro im Tabellenblatt habe ich mit Worksheet_Change (beim Ändern von Zellinhalten) viele Prüfkriterien eingebaut. Das funktioniert so weit so gut. Wenn ich aber ein anderes Makro ausführe, das eine dieser Zellen betrifft, geht das ellenlang bis alle Prüfkriterien durchgeführt sind. Diese Überprüfung wäre aber beim Ausführen der Makros gar nicht nötig. Gibt es irgendeine Möglichkeit, dass die Makros diese Überprüfung nicht auslösen?
Ich habe zB ein Makro 'Zeile einfügen' mit definierten Zellformatierungen. Dieses Makro dauert durch die unnötige Überprüfung viel zu lange.
'--- Wenn Eingabe ab Spalte E ändert wird in Spalte D Datum aktualisiert

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Column >= 5 And Target.Column <= 71 And Target.Row >= 3 And Target.Row < LastRowSpalte2 Then
Cells(Target.Row, 4) = Date
End If
'--- Wenn Eingabe in Spalte X oder AR bis BF ändert, wird in Spalte X Code aktualisiert
If Target.Column = 24 Or Target.Column = 41 Or Target.Column >= 44 And Target.Column <= 58 Then
If WorksheetFunction.Sum(Range(Cells(Target.Row, 44), Cells(Target.Row, 58))) > 0 _
And Cells(Target.Row, 41) <> "" Then
Cells(Target.Row, 24) = 1
Else
Cells(Target.Row, 24) = 0
End If
End If
'--- Wenn Eingabe in Spalte M oder X ändert, wird in Spalte BN Eintrag aktualisiert
If Target.Column = 13 Or Target.Column = 24 Or Target.Column = 66 Then
If Cells(Target.Row, 24) = 1 Then
Cells(Target.Row, 66) = "IR"
Exit Sub
End If
If Cells(Target.Row, 13) > 0 And Cells(Target.Row, 24) = 0 Then
Cells(Target.Row, 66) = "ER"
Else
Cells(Target.Row, 66) = ""
End If
End If
End Sub

Vielen Dank und Gruss
Gregor
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change
u_
Hallo,
schalte in deinem Makro 'Zeile_Einfügen' die Ereignisverarbeitung ab.
Application.enableevents=false
Am Ende unbedingt wieder auf true setzen.
Gruß
AW: Worksheet_Change
Gregor
Vielen Dank,
das Abschalten der Ereignisverarbeitung klappt bestens, leider funktionieren auf diesen mit 'Application.enableevents=false' eingefügten Zeilen die Überprüfungen nicht mehr, obwohl ich am Schluss des Makros 'Application.enableevents=true' gesetzt habe.
Was mache ich wohl falsch?
Gregor
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