Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12645 / 13646 ツリー ←次へ | 前へ→

【9388】プロシージャが 大きすぎます row 03/12/2(火) 0:16 質問
【9389】Re:プロシージャが 大きすぎます Kein 03/12/2(火) 1:12 回答
【9390】Re:プロシージャが 大きすぎます Kein 03/12/2(火) 1:14 発言
【9428】Re:プロシージャが 大きすぎます row 03/12/4(木) 1:02 お礼

【9388】プロシージャが 大きすぎます
質問  row  - 03/12/2(火) 0:16 -

引用なし
パスワード
   仕事上 マクロを作成していましたら 1200行くらいになりまして
実行しようとしたら、コンパイルエラーが、発生しまして
「プロシージャが大きすぎます。」と言われてしまいました。

組み方に問題があるのは、分かっていていましたが時間に追われていて
巨大化せざろう得なかったので、作り続けました。

プロシージャが大きすぎますというのは、
コンパイルする為のワークエリアが大きすぎて
コンパイル出来ない という解釈で 宜しいでしょうか?

先輩方の ご意見を頂戴できればと思います。

【9389】Re:プロシージャが 大きすぎます
回答  Kein  - 03/12/2(火) 1:12 -

引用なし
パスワード
   〜.Select とか Selection.〜 とか .Activate 等をたくさん並べてませんか ?
まずそれらを「オブジェクト.プロパティ ・・」というように直接繋げる書き方
にしないと、だらだらと長くなってしまうだけでなく、処理効率も落ちます。
うまく編集するためのコツは、他にもいろいろありますが、いろいろやっても
どうしても長くなるなら、思いきって分割すれば良いでしょう。特に計算だけを
やってる部分などは Functionプロシージャにしてしまうといいです。そうで
なくても、ひとまとまりになる処理の部分だけを、違う Subプロシージャに仕立てて
メインプログラムから Call するやり方なら、そのような警告は出なくなるでしょう。
ただし分割をやりすぎると速度が落ちますし、後でコードを調べるときに難儀します。
そのへんは臨機応変にやって下さい。

【9390】Re:プロシージャが 大きすぎます
発言  Kein  - 03/12/2(火) 1:14 -

引用なし
パスワード
   それから自動記録で出てきたコードなどは、プロパティの値がデフォルト設定のまま
でも、それを記録してしまいますから、ヘルプで調べて遠慮なく削除して下さい。
それも基本的な編集のコツです。

【9428】Re:プロシージャが 大きすぎます
お礼  row  - 03/12/4(木) 1:02 -

引用なし
パスワード
   >〜.Select とか Selection.〜 とか .Activate 等をたくさん並べてませんか ?

並べてました!これが行けなかったんですね。

たくさん、アドバイス頂きましてありがとうございます。
これからも、よろしくお願いいたします。

12645 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free