Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
480to484
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
480to484
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ereignisabfrage endet in Endlosschleife

Ereignisabfrage endet in Endlosschleife
07.09.2004 12:07:30
Glenn
Hallo an alle,
bin kurz davor mein Projekt zu beenden. Leider gibt es da diese Endlosschleife:
Wenn in Sheet1 etwas neu berechnet wird, wird in Sheet2 (Worksheet_Activate) ebenfalls ein Makro ausgeführt. Die Ergebnisse aus Sheet2 werden dann wiederum in einer Übersicht in Sheet1 dargestellt (einfacher Zellbezug).
Wenn ich manuell nach Ausführung der Makros aus Sheet2 in Sheet1 wechsle, ist alles richtig. Baue ich aber in das Sheet2-Makro "Sheet1.Activate" ein, hagelt es die Endlosschleife. Manchmal bricht er diese mit dem richtigen Ergebniss auch nach ca. 30s ab. Normal wären höchstens 2s.
Code ("DieseArbeitsmappe"):

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Application.ScreenUpdating = False
With Worksheets("Sheet1") 'hier scheint er es manchmal nicht zu aktivieren
.Activate
End With
Application.ScreenUpdating = True
End Sub

Code ("Sheet2"):

Private Sub Worksheet_Activate()
Dim Sheet1 As Worksheet, Sheet2 As Worksheet
Dim strAF As String
Dim strUR As String
Application.ScreenUpdating = False
Set Sheet1 = Workbooks(Me.Parent.Name).Worksheets("Sheet1")
Set Sheet2 = Workbooks(Me.Parent.Name).Worksheets("Sheet2")
With Sheet1
strUR = .UsedRange.EntireRow.Address(0, 0)
If .AutoFilterMode Then
strAF = .AutoFilter.Range.SpecialCells(xlCellTypeVisible).EntireRow.Address(0, 0)
Me.Range(strUR).EntireRow.Hidden = True
Me.Range(strAF).EntireRow.Hidden = False 'bricht teilweise ab und startet neu
Else
Me.Range(strUR).EntireRow.Hidden = False
End If
.Activate
End With
Application.ScreenUpdating = True
End Sub

Bin für jede Hilfe dankbar! Ich versteh's echt nicht mehr...
Beste Grüße
der glenn

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

Betreff
Datum
Anwender
Anzeige
AW: Ereignisabfrage endet in Endlosschleife
Bert

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
on error goto ErrH
Application.ScreenUpdating = False
Application.EnableEvents = False
With Worksheets("Sheet1") 'hier scheint er es manchmal nicht zu aktivieren
.Activate
End With
ErrH:
Application.ScreenUpdating = True
Application.EnableEvents = true
End Sub

Bert
AW: Ereignisabfrage endet in Endlosschleife
07.09.2004 13:24:44
Glenn
Hallo Bert,
Danke für die Lösung. Mir fehlte echt nur der Befehl "Application.EnableEvents = False/True", um die Wirkung der Querverweise auf _Calculate auszuschalten.
Riesendank nochmal
der glenn

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige