Out of stack space (Visual Basic)
The stack is a working area of memory that grows and shrinks dynamically with the demands of your executing program. Its limits have been exceeded.
To correct this error
Check that procedures are not nested too deeply.
Make sure recursive procedures terminate properly.
If local variables require more local variable space than is available, try declaring some variables at the module level. You can also declare all variables in the procedure static by preceding the
Property
,Sub
, orFunction
keyword withStatic
. Or you can use theStatic
statement to declare individual static variables within procedures.Redefine some of your fixed-length strings as variable-length strings, as fixed-length strings use more stack space than variable-length strings. You can also define the string at module level where it requires no stack space.
Check the number of nested
DoEvents
function calls, by using theCalls
dialog box to view which procedures are active on the stack.Make sure you did not cause an "event cascade" by triggering an event that calls an event procedure already on the stack. An event cascade is similar to an unterminated recursive procedure call, but it is less obvious, since the call is made by Visual Basic rather than an explicit call in the code. Use the
Calls
dialog box to view which procedures are active on the stack.
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for