「みんな教えて! 選手権!!」開催のお知らせ

プロシージャにDATAを書き込み実行していましたが,DATAを追加していくうち,[プロシージャが大きすぎます]のエラーメッセージが出てしまいました。
対策を教えて下さい。
出来れば,プロシージャの容量を大きく出来ないものでしょうか。

A 回答 (2件)

Subを分ければ良いと思います。



元が
Sub Macro1()
 (1)
 (2)
End Sub

なら

Private Sub Macro1()
 (1)
End Sub

Private Sub Macro2()
 (2)
End Sub

のように分けてから、それを連続実行するプロシージャを書きます。
分割したやつを Private Sub にしておけば、マクロ名が表示されません。

Sub Jikkou()
  Macro1
  Macro2
End Sub
    • good
    • 10
この回答へのお礼

有難うございました。
チャレンジしてみます。

お礼日時:2005/09/03 07:34

こんばんは。



すでに、papayukaさんが、述べられているとおりですが、そういうマクロを見せられて思ったことですが、

それは、トータル行数が、多いわりには、基本的なループ、プロパティをきちんと使わずに、Selectを多用してしのいでいたりする、いわゆる記録マクロレベルのものだったからです。VBAは、スクリプトなので、プロジェクトのマクロ全てを、ブックが抱えることになってしまいます。VBAは、常に、アプリケーションが、コードの監視状態になっていますから、それでは、ブック全体に影響を受けてしまいます。

せいぜい、1つのプロシージャは、100行以内にして、Call で結ぶことでしょうね。
申し訳ないのですが、基本的な部分からの見直しからお勧めします。

何かあったときに、手がつかなくなると思います。
    • good
    • 8

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A