Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
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

Stapelüberlauf beim Formeleinfügen

Stapelüberlauf beim Formeleinfügen
11.04.2020 08:43:22
Steve
Hallo Excel-Freunde
ich habe eine Kaffeeliste gemacht, die je nach Schichtplan die Spalten ausblendet bzw. einblendet.
wenn ich aber nun mit hilfe des Makros Formeln in Spalte AO einfügen lassen möchte, belendet der dauerhaft ein und aus bis der Stapelspeicher voll ist.
Ohne Formel einfügen funktioniert alles bestens.
Ich vermute, dass es am Worksheet_Selectionchange aufruf liegt. Weiß mir aber nich besser zu helfen.
Sinn der Sache ist, dass alles automatisch einträgt, wenn man den Monat ändert.
Hier die Bsp.datei https://www.herber.de/bbs/user/136623.xlsm
Danke euch im Vorraus
Steve

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Stapelüberlauf beim Formeleinfügen
11.04.2020 08:52:27
Hajo_Zi
Hallo Steve,
was muss ich machen um den Fehler auszulösen.
Code kürzer
    For j = 36 To 38
Columns(j).EntireColumn.Hidden = Cells(1, j) = ""
Next j

AW: Stapelüberlauf beim Formeleinfügen
11.04.2020 09:17:56
volti
Hallo Steve,
das Event löst sich immer wieder selbst aus. Schalte das Eventhandling ab und nach getaner Arbeit wieder ein...
Und die Bildschirmaktualisierung am besten auch gleich mit.

Private Sub worksheet_SelectionChange(ByVal Target As Range)
  If ActiveCell.Row = 3 Then
    With Application
     .ScreenUpdating = False
     .EnableEvents = False
     Ausführen
     .ScreenUpdating = True
     .EnableEvents = True
    End With
  End If
End Sub
viele Grüße
Karl-Heinz

Anzeige
AW: Stapelüberlauf beim Formeleinfügen
11.04.2020 09:18:15
Daniel
Hi
Die Eventmakros wie SelectionChange werden auch dann ausgeführt, wenn das jeweilige Event durch ein Makro ausgelöst wird. Das kann auch das Eventmakro selbst sein.
Dann besteht die Gefahr, dass man in einer Endlosschleife von Selbstaufrufen hängen bleibt.
Weil bei einem Aufruf eines Makros aus einem anderen Makro heraus die Variablen des aufrufenden Makros im Stapelspeicher zwischengeparkt werden um beim Weiterlaufen wieder mit den ursprünglichen Werten zur Verfügung zu stehen, läuft die Endlosschleife der Selbstaufrufe solange, bis eben Stapelspeicher voll ist.
Lange Vorrede kurze Lösung:
Wenn man in einem Makro eine Aktion durchführt, welche so ein Eventmakro auslöst, aber dies an dieser Stelle nicht passieren soll, dann kann man den Befehl Applications.EnabeleEvents = False ausführen.
Danach werden keine Eventmakros mehr ausgeführt.
Aber Achtung: diese Einstellung bleibt bei Makroende erhalten.
Dh man muss vorher irgendwann die Events wieder mit Applications.EnabeleEvents = True aktivieren, damit die Datei für den Anwender normal funktioniert.
Gruß Daniel
Anzeige
AW: Stapelüberlauf beim Formeleinfügen
11.04.2020 09:25:19
Steve
Vielen Dank für diese ausführliche Erklärung.
Schöne Ostern euch ;)

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige