
Eu tenho uma macro muito simples em uma planilha do Excel, que permite aos usuários recalcular.
Não tenho outras macros/códigos na pasta de trabalho e apenas esta pasta de trabalho está aberta
Sub Calculate()
Calculate
End Sub
Isso é ativado por um botão.
Porém, quando pressionado recebo duas caixas de erro, veja a imagem.
O que Out of stack space mean
? E como resolvo esse problema?
Eu olhei neste site:
Diz que posso ter muitas funções ?? Esta macro costumava funcionar bem e dificilmente faz muita coisa, por isso não consigo entender o problema.
Consigo calcular a planilha usando a opção na aba de fórmulas.
Responder1
A função que você definiu é recursiva, chamando-se incondicionalmente até que a pilha seja preenchida com todas as chamadas.
Você deve alterar o nome da sua sub-rotina, por exemplo: -
Sub Calc()
Calculate
End Sub
Se você vincular Calc()
ao botão, evitará qualquer recursão.
Responder2
Você está chamando Calcular dentro de Calcular. Cada chamada para Calcular causa outra chamada para Calcular, que então chamará Calcular... Então, eventualmente, você receberá esse erro quando a pilha for preenchida.