- ベストアンサー
VBA マクロの作り方で迷ってます
EXCEL2000でVBAマクロ作成しています。 10枚のシートを作成するについて 同じ結果がでる次の方法で迷っています。 10枚は10人の個人別データが入っています。 10枚のデータは前回入力したデータのうち 変化のないものはそのまま使用します。 1)最初の一枚目のシートのセルに公式を埋め込みます。 2枚目以降のシートにも順次公式を埋め込んで行きます。少し面倒ですが、各シートを表示したとき即座に値が表示され肩が懲りません。(手入力もしくはマクロでつくる) 2)最初の一枚のシートにマクロで部品化したサブルーチンをつくり2枚目以降はCallステートメントで呼び出すマクロを作る。 上の2つの方法は結果が同じだと思いますが、処理速度や容量の点でどちらでつくるべきか迷ってます。教えてください。 違うカテゴリで質問してしまいました。すいません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 ある意味で、返事に困るものです。 >処理速度や容量の点でどちらでつくるべきか迷ってます。 もしも、こういう点で迷うレベルであれば、もう、答えは決まっていますし、それは、上級者用の質問ですが、それには、決まったルールがあります。 その答えを探すなら、不親切かもしれませんが、私は、MSDN のMicrosoft Office 2000/Visual Basic プログラマーズ ガイドの最適化についてお読みください、としか言えません。使いづらいし、内容も古いのですが、今となると、きちんとしたテクニカル・ライターの執筆によるVBAの仕様書は、ここにしか存在していません。後は、英語で読むぐらいだと思います。(この書籍絶版になっています。) しかし、もし、上級者でなかったら、それは考えなくても良いというほかありませんね。そんなルールなどは、システム開発をするようにならなければ、如実に問題になるようなことはめったにありませんし、数式をシートに埋め込むようなマクロは、上級レベルではめったにしません。 気にしないで、思ったようにやってみて、トラブルが出たら、ご相談くださればよいと思います。
その他の回答 (1)
- papayuka
- ベストアンサー率45% (1388/3066)
文章だけだとどんな処理か理解出来ませんでした。 結果が同じならどちらでも良いのではないでしょうか? 自分が書きやすいほうとか、後で見た時に解りやすいほうとか、、、 同ブック内の全シートに同じ関数を埋めたいなら Sub test() Sheets.Select Range("A10").Activate Selection = "=SUM(A1:A9)" End Sub のような方法もありますね。
お礼
わかりました。そうします。
お礼
数式をシートに埋め込むようなマクロは、上級レベルではめったにしません。 非常に気になる言葉です。ありがとうございました。 くだらないこと質問してすいません。