
Tengo una macro muy simple en una hoja de Excel que permite a los usuarios volver a calcular.
No tengo otras macros/código en el libro de trabajo, y solo este libro de trabajo está abierto
Sub Calculate()
Calculate
End Sub
Esto se activa mediante un botón.
Sin embargo, cuando presiono me aparecen dos cuadros de error, ver imagen.
Que hace Out of stack space mean
? ¿Y cómo soluciono este problema?
He mirado en esta web:
¿Dice que puedo tener demasiadas funciones? Esta macro solía funcionar bien y apenas hace mucho, por lo que no puedo entender el problema.
Puedo calcular la hoja usando la opción en la pestaña de fórmulas.
Respuesta1
La función que ha definido es recursiva y se llama a sí misma incondicionalmente hasta que la pila se llena con todas las llamadas.
Debes cambiar el nombre de tu subrutina, por ejemplo:-
Sub Calc()
Calculate
End Sub
Si enlaza Calc()
al botón, evita cualquier recursividad.
Respuesta2
Estás llamando a Calcular dentro de Calcular. Cada llamada a Calcular provoca otra llamada a Calcular, que luego llamará a Calcular... Luego, eventualmente, obtendrás ese error cuando la pila se llene.