【ExcelVBA】スタック領域が不足しています。実行時エラー28

よくある原因は、
再帰処理の中でローカル変数とメソッドの情報がスタック領域に格納しきれなくなり発生する。そんなところです。
下記は、このエラーが発生する再帰処理のサンプルコードです。
Sub Sample1() Call Sample2 End Sub Sub Sample2() Call Sample1 End Sub
シンプルなふたつのプロシージャ間で再帰処理した場合の、エラーで停止するまでの再帰回数をカウントしてみました。
結果は 3397 回でした。
この数値は、プロシージャの内容次第で大きく変動します。
下記は、エラーが発生するまでの再帰回数をカウントするサンプルコードです。
Dim i As Long Sub Sample1() i = i + 1 Debug.Print i Call Sample2 End Sub Sub Sample2() Call Sample1 End Sub
ディスカッション
コメント一覧
まだ、コメントがありません