
Ich habe ein sehr einfaches Makro in einer Excel-Tabelle, das Benutzern Neuberechnungen ermöglicht.
Ich habe keine anderen Makros/Code in der Arbeitsmappe, und nur diese Arbeitsmappe ist geöffnet
Sub Calculate()
Calculate
End Sub
Die Aktivierung erfolgt über einen Knopf.
Beim Drücken erhalte ich jedoch zwei Fehlerfelder, siehe Bild.
Was bedeutet das Out of stack space mean
? Und wie löse ich dieses Problem?
Ich habe auf dieser Website nachgeschaut:
Es heißt, ich habe möglicherweise zu viele Funktionen? Dieses Makro hat früher einwandfrei funktioniert, tut aber kaum etwas, daher verstehe ich das Problem nicht.
Ich kann das Blatt mit der Option unter der Registerkarte „Formeln“ berechnen.
Antwort1
Die von Ihnen definierte Funktion ist rekursiv und ruft sich selbst bedingungslos auf, bis der Stapel mit allen Aufrufen gefüllt ist.
Sie sollten den Namen Ihrer Subroutine ändern, zB:-
Sub Calc()
Calculate
End Sub
Durch die Verlinkung Calc()
auf die Schaltfläche vermeiden Sie jegliche Rekursion.
Antwort2
Sie rufen Calculate innerhalb von Calculate auf. Jeder Aufruf von Calculate führt zu einem weiteren Aufruf von Calculate, das dann Calculate aufruft... Dann erhalten Sie irgendwann diesen Fehler, wenn der Stapel voll ist.