- 締切済み
実行時エラー 28
今まで問題なく実行出来ていたコードが ---------------------------- 実行時エラー 28 スタック領域が不足しています ---------------------------- と言うエラーが発生ました Call test と言うところでです。 エクセル2010、win8.1です。 「スタック領域」とは何でしょうか?メモリでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- _backyarD
- ベストアンサー率34% (199/580)
無限ループが起きてますね。どこかで。 おそらく、「ある処理から別の処理を呼ぶ」という処理が無限に続くタイプの無限ループです。 スタック領域というのは、コンピューターが処理を実行する際に、1つの処理から別の処理に移ったときに「移る前の作業はここまでやったよ」というメモを記録しておく場所です(厳密には微妙な説明ですが、この場合はこれで合ってます)。 で、「別の処理を呼び出す」という処理が無限に繰り返されると、この「ここまでやったメモ」が大量に作成され、そのメモだけでメモリを食いつぶしてしまいます。結果、プログラムはもう無理!となってエラーになる。そういう事が起きてるようですよ。
- Prome_Lin
- ベストアンサー率42% (201/470)
以下のサイトに詳しく説明があります。 http://officetanaka.net/excel/vba/error/execution_error/error_28.htm つまり、「Call test」で、「Sub Test」を実行中、「Call Test」を呼び出した元の「Sub」を呼び出してしまい、無限ループに陥っている、ということです。 ただ、今まで問題なかったとのことなのですが、何か、変更を加えていませんか? Sub Origin() Call Test(「Test」サブプロシージャを呼び出している) End Sub Sub Test() Call Origin(呼び出された中に、元の「Origin」プロシージャを呼び出し、永遠に繰り返している) End Sub
お礼
ありがとうございました。
お礼
ありがとうございました。