エクセルマクロVBAでは、標準モジュールを使ってプログラムを作成します。
しかしマクロを使い始めたばかりだと、標準モジュールの使い方が分からず困ってしまうことがあります。
そこで、エクセルマクロVBA初心者が標準モジュールを使えるようになるために解説を行います。
具体的には、以下の内容をお伝えしていきます。
・作成する方法
・実行する方法
・名前変更する方法
・削除する方法
・コピーする方法
・複数作成する方法
・表示する方法
他にも、標準モジュールとクラスモジュールとの違いも紹介していきます。
目次
VBEを起動して標準モジュールを作成する方法
VBEを起動して標準モジュールを作成する方法を紹介します。
ステップ2|「Visual Basic」ボタンをクリック
ステップ3|「挿入」をクリック
ステップ4|「標準モジュール」をクリック
ステップ2で「Visual Basic」ボタンをクリックすると、以下のようにVBEが起動します。
「ステップ3|挿入をクリック」、「ステップ4|標準モジュールをクリック」と進めます。
そうすると、「標準モジュール」が作成できます。
エクセルリボンに「開発」ボタンがない場合の対処法
もし、ステップ1で「開発」ボタンがない場合は以下の手順で「開発」ボタンを使えるようにします。
ステップ2|「オプション」をクリック
ステップ3|「リボンのユーザー設定」をクリック
ステップ4|「開発」にチェックを入れる
ステップ5|「OK」をクリック
まず、ステップ1で「ファイル」ボタンをクリックします。
次に、ステップ2で「オプション」をクリックします。
「ステップ3|リボンのユーザー設定をクリック」、「ステップ4|開発にチェックを入れる」、「ステップ5|OKをクリック」と進めていきます。
そうすると、「開発」ボタンが表示されます。
ここまで来たら、上記の「VBEを起動して標準モジュールを作成する方法」のステップ1|「開発」ボタンをクリックを行うことができるようになります。
標準モジュールを実行する方法|ボタン、F5、F8
次に標準モジュールを実行する方法についてお伝えします。以下の3つを紹介します。
実行方法2|F5
実行方法3|F8
以下で詳しくお伝えしていきます。
実行方法1|ボタン:マクロを実行
ボタンを押してマクロを実行する方法です。
ステップ2|「実行ボタン」をクリック
上記の手順でマクロを実行します。
そうすると、マクロによってエクセルに値が出力されます。
注意点としては、「ステップ1|動かしたいプログラム(プロシージャ)にカーソルを合わせる」ことです。
もし、Sample2にカーソルを合わせると、Sample2のマクロが起動します。
また、Sample1とSampl2の外にカーソルを合わせると、以下のようにどのマクロを実行するか聞かれます。
この方法でマクロを実行することは可能です。しかし、マウスでクリックするのは面倒なので私はこの方法でマクロ実行はしません。
実行方法2|F5:マクロを実行
マクロ実行のショートカットキー[F5]で、マクロを実行する方法です。
ステップ2|キーボードの[F5]を押す
そうすると、マクロによってエクセルに値が出力されます。
注意点としては、ボタンでマクロを実行するときと同じで、「ステップ1|動かしたいプログラム(プロシージャ)にカーソルを合わせる」ことです。
上記で説明済みなので、省略します。
実行方法3|F8:ステップイン
マクロのステップインのショートカットキー[F8]で、マクロを一行ずつ実行する方法です。
ステップインとは、プログラムコードを1行ずつチェックしていく方法のことです。
この方法はプログラムのエラーを見つけるために行います。例えば、プログラムエラーは出ないが、想定したものと子tなる結果になる場合があります。
そこで、プログラムを1行ずつ動かし、結果を確認しながらチェックして機能をステップインといいます。
作成したばかりのプログラムを検証するときに、よく使います。
それでは、使い方を紹介します。
ステップ2|キーボードの[F8]を押す (1回押すとプログラムが1行分進みます)
[F8]を押すと、マクロがステップインで動き始めます。
上記のように[F8]を押すたびに、マクロが一行ずつ動いていきます。
そうすると、赤枠で囲んだ部分に値が出力されていくのが分かります。
これを確認することで、プログラムが想定通りに動いているか確認することができます。
マクロVBAの標準モジュールの名前を変更する方法
マクロVBAの標準モジュールの名前を変更する方法を紹介します。
ステップ2|「Module1」と記載されたテキストボックスをクリック
ステップ3|好きな名称に変更
マクロVBAの標準モジュールを削除する方法
マクロVBAの標準モジュールを削除する方法を紹介します。
ステップ2|「Module1の解放」をクリック
ステップ3|「いいえ」をクリック
ステップ3で「はい」をクリックすると、マクロのプログラムを「.bas」という拡張子で保存することができます。
ただ、これは慣れてから覚えれば問題ありません。そのため、初心者の内は「いいえ」を選択してマクロを削除すると覚えておけば十分です。
マクロVBAの標準モジュールを複数作成する方法
マクロVBAの標準モジュールを複数作成する方法を紹介します。
ステップ2|「標準モジュール」をクリック
そうすると、以下のように複数の標準モジュールを作成することができます。
マクロVBAの標準モジュールをコピーする方法
マクロVBAの標準モジュールをコピーする方法を紹介します。
標準モジュールをコピーする以下の2つがあります。
コピーする方法2|他のエクセルブックにマクロをコピーする
それでは、一つずつ解説していきます。
コピーする方法1|同じエクセルブック内でマクロをコピーする
同じエクセルブック内でマクロをコピーする方法を紹介します。
ステップ2|コピーしたい範囲を選択
ステップ3|コピーをクリック( ショートカットキー [Ctrl] + [C] でも可能)
ステップ4|コピー先の標準モジュールをクリック
ステップ5|コピー先に貼り付ける
コピーする方法2|他のエクセルブックにマクロをコピーする
他のエクセルブックにマクロをコピーする方法を紹介します。
ステップ2|クリックしたままコピー先へマウスをドラッグする
Book2に移動したら、マウスから手を離します。そうすると、以下のように異なるエクセルブックへ標準モジュールをコピーできます。
マクロVBAの標準モジュールの呼び出しを行う方法
マクロVBAの標準モジュールの呼び出す方法を紹介します。
ステップ2|マクロを実行する
標準モジュールの呼び出す方法は以下です。
Call 呼び出したいプログラム名(プロシージャ名)ここでは、Call Sample3 と記載します。なぜなら、呼び出したいプログラム名(プロシージャ名)が「Sample3」という名前だからです。
つまり、呼び出したいプログラム名によって、記載を変更する必要があります。
マクロを実行すると、Sample3が動いていることが分かります。
マクロVBAの標準モジュールが表示されないときの対象法
マクロVBAでは、標準モジュールが表示されないときがあります。
このときの対処法は以下です。
ステップ1|「表示(V)」をクリック
ステップ2|「プロジェクトエクスプローラー(R)」をクリック
そうすると、以下のように標準モジュールが表示されます。
ちなみに、「コード」や「プロパティウィンドウ」も以下の操作で表示することができます。
標準モジュールとクラスモジュールの違い
ここまで標準モジュールについてお伝えしてきました。
ただ、実は標準モジュールのほかにクラスモジュールというものが存在します。
しかし、VBA初心者の内は基本的に標準モジュールだけを覚えて使えば問題ありません。
なぜなら、VBAによる自動化プログラムは標準モジュールで作成できるからです。
例えば、メール操作(Outlook操作)やインターネットのIE操作も標準モジュールで作成できます。
このように、操作の自動化をしたいのであれば、標準モジュールに記述すれば、ほぼ問題ありません。
したがって、VBA初心者の内は基本的に標準モジュールだけを覚えて使えば問題ありません。
クラスモジュールとは
クラスモジュールの説明はMicrosoft社の説明が参考になります。
クラスとモジュールの主な違いは、クラスはオブジェクトとしてインスタンス化でき、標準モジュールはインスタンス化できないことです。
標準モジュールのデータには 1 つのコピーしか存在しません。
したがって、プログラムのある部分で標準モジュールのパブリック変数を変更した後、プログラムの別の部分で同じ変数を読み取ると、変更後の値が取得されます。
一方、オブジェクト データは、オブジェクトのインスタンスごとに存在します。
また、標準モジュールとは異なり、クラスはインターフェイスを実装できます。
なお、クラスモジュールを使用するメリットは「プログラムが簡潔になる」、「メンテナンスがしやすい」という点があります。
しかし上述の通り、初心者の内は標準モジュールを使っておけば問題ありません。
したがって、難しいことをあれこれ覚えるのではなく、まずは標準モジュールをマスターすることをお勧めします。
マクロVBAに関するお勧めの記事
ここまで、エクセルマクロVBAの標準モジュールについて解説してきました。
以下では、マクロの設定やマクロ作成におけるコツを記載しています。
ぜひ読んでみてください。
●エクセルマクロでできることを知りたいなら
●エクセルマクロの難易度や習得までの期間を知りたいなら
●エクセルマクロを独学で上達するコツを知りたい
●エクセルマクロを効率的に作成するコツを知りたいなら
●エクセルマクロについてもっと詳しく知りたいなら
●本やウェブのマクロVBAのコードが使えない理由
●エクセルマクロオンライン教材のおすすめ
●初心者が知っておきたいエクセルマクロVBAの初期設定
●パソコン仕事を効率的に使うワザを知りたいなら