- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAについて教えて頂けませんか?)
VBAについて教えて頂けませんか?
このQ&Aのポイント
- エクセル2003を使ってVBAを勉強している者ですが、エラーが多く困っています。
- VBAでは「Sheet1」と「Module1」にコードを書くことがありますが、どちらに書くべきか迷っています。
- マクロの記録をすると、「Module1」にすべてのコードが書き込まれます。どこに書くべきか教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
普通のVBAプログラムはModule1、Module2、・・・などに書きます。これは、そのプログラムを「実行しろ」と命令しなければ実行しません。 Sheet1などに書かれるプログラムは、「Sheet1(コード)」を開いたとき、左上に表示されている「(General)」の右の黒下三角をclickして、「WorkSheet」を表示したとき、右側上の黒下三角をclickして表示されるプログラムなどを書くのです。これは、イベントプロシージャといって、Sheet1に何か入力したときとか、SHeet1を閉じたときとかに自動で実行されるプログラムです。これは、ThisWorkbookも同じです。 そのほかに、Class Moduleがありますが、これはもう少し勉強してからにしましょう。
その他の回答 (1)
- okormazd
- ベストアンサー率50% (1224/2412)
回答No.2
「実行しろ」という命令と、ただ単にマクロの記録をする事とはまったく別の意味です。「実行しろ」というのが命令です。 あなたのやっていることは、単にマクロを記録しているだけです。 普通は自分でマクロプログラムを作るのですが、簡単にできるように、マクロ記録の機能があります。 「1」「2」「3」と数字を打ったのを消して、 ツール―マクロ で、Macro1とかMacro2を選んで、「実行」のボタンを押してください。 それが「実行」しろという命令です。 「私のやり方に問題」はないですよ。 それより、基本的なことがわかっていないようなので、ここではこれ以上の説明をするのはしんどいです。
質問者
お礼
okormazdさん、お返事ありがとうございます。 マクロの記録と、実行しろの命令は、別なのですね もっと自分自身で、基本を勉強してみます。 いろいろ教えて頂いてありがとうございました。
お礼
okormazdさん、回答どうもありがとうございます。 >普通のVBAプログラムはModule1、Module2、・・・などに書きます。 >これは、そのプログラムを「実行しろ」と命令しなければ >実行しません。 ん~自分の中で、わかったようなわからないような感じです。 「実行しろ」と命令とは、ただ単に「1」「2」「3」と数字を打ってマクロの記録をする事とは、 別の意味なのかな~?(´;ェ;`)ウゥ・・・ >Sheet1に何か入力したときとか、SHeet1を閉じたときとかに自動で実 >行されるプログラムです。 私の場合、Sheet1に「新しいマクロの記録」→「1」「2」「3」→「記録終了」と 入力したのですが、何回行ってもやはり「Module1」に書き込まれます。 やはり私のやり方に問題あるのですね?難しいな~ >そのほかに、Class Moduleがありますが、これはもう少し勉強してか >らにしましょう。 はい、もう少し勉強してからにします。 今の質問だけでも、パニックになってます。 okormazdさん、VBA初心者の勉強にいいお勧めサイトや 参考書類知っておられたら、教えて貰えませんか? 宜しくお願いします。