このエラーメッセージが表示されました-Procedure too large
-VBA内。このエラーの理由と解決策は何ですか?
おそらく、1つ以上の巨大なプロシージャ/関数があり、VBAにはプロシージャごとに64kなどの制限があると思います。
その手順を複数の手順に分割して修正し、1つの手順で呼び出すことができるようにします。
だから、代わりに:
Sub GiantProcedure()
... ' lots and lots of code
End Sub
あなたは次のようなものを持っているでしょう:
Sub GiantProcedure()
... ' a little bit of common code
Proc1()
Proc2()
Proc3()
End Sub
Sub Proc1()
... ' quite a bit of code
End Sub
Sub Proc2()
... ' quite a bit of code
End Sub
Sub Proc3()
... ' quite a bit of code
End Sub
コンパイルされたプロシージャは64kbを超えることはできません。別のサブルーチンに分割する必要があります。
マクロが64ビットバージョンのOfficeを使用して作成されている場合、このエラーメッセージが表示されることがあります。詳細と回避策については、次の記事を参照してください。
Office 2010プログラムの32ビットバージョンでVBAマクロを実行しようとすると、「コンパイルエラー:プロシージャが大きすぎます」というエラーメッセージ
Microsoft PowerPoint 2013を使用すると、GiantProcedureのアイデアはうまくいきませんでした。それから、各 "proc"の前に "call"を追加しました。このような:
Sub GiantProcedure()
Call Proc1()
Call Proc2()
Call Proc3()
End Sub
今、それは動作します。