
사용자가 다시 계산할 수 있도록 Excel 시트에 매우 간단한 매크로가 있습니다.
통합 문서에 다른 매크로/코드가 없고 이 통합 문서만 열려 있습니다.
Sub Calculate()
Calculate
End Sub
이는 버튼으로 활성화됩니다.
그러나 누르면 두 개의 오류 상자가 나타납니다. 이미지를 참조하십시오.
은 무슨 뜻인가요 Out of stack space mean
? 이 문제를 어떻게 해결합니까?
나는 이 웹사이트를 살펴보았습니다:
기능이 너무 많다고 하네요 ?? 이 매크로는 이전에는 잘 작동했지만 거의 작동하지 않아 문제를 이해할 수 없습니다.
수식 탭 아래의 옵션을 사용하여 시트를 계산할 수 있습니다.
답변1
정의한 함수는 재귀적이며 스택이 모든 호출로 채워질 때까지 무조건 자신을 호출합니다.
서브루틴의 이름을 다음과 같이 변경해야 합니다.
Sub Calc()
Calculate
End Sub
Calc()
버튼에 연결하면 재귀를 피할 수 있습니다.
답변2
Calculate 내부에서 Calculate를 호출하고 있습니다. Calculate를 호출할 때마다 Calculate에 대한 또 다른 호출이 발생하고 Calculate가 호출됩니다... 그런 다음 결국 스택이 가득 차면 해당 오류가 발생합니다.