VBEをつかったコードの書きはじめの方法についてご紹介をします。
コードを書く場所やコードの種類を設定することができます。
基本的にマクロを作成するときには「標準モジュール」と「Subプロシージャ」をつかってコードを記述しますが、その他の種類があることもおさえておきましょう。
VBAのモジュールとは
モジュールとは、「マクロを作成するためのコードを記述する場所」のことです。
それぞれのモジュールの特徴はこちらです。
モジュール名 | 内容 |
標準モジュール | 一般的なマクロを作成するためのモジュール |
クラス モジュール | クラスを定義するためのモジュール |
標準モジュール
コードを記述するさいにつかう場所です。
また、「マクロの記録」によって自動記述されたコードが記録される場所でもあります。
ちなみに、「標準モジュール」以外にもコードを記述する場所はありますが、「標準モジュール」がもっとも一般的につかわれています。
クラスモジュール
クラスを定義するためのモジュールです。
クラスとは、オブジェクトの「設計図」のようなものです。
「設計図」に特定の機能や役割をあらかじめ持たせておいて、その「設計図」にもとづいてオブジェクトをつくっていきます。
「クラス」の考え方は複雑な内容になりますので、いまの段階では「クラスとかいうやつもつくれるのかー。」くらいの認識で大丈夫です。
VBAのプロシージャとは
さきほどのVBEのメニュー「挿入」に掲載されています。
「プロシージャ」を選択するとこのような画面がでてきます。
プロシージャとステートメント
まず、「プロシージャ」という単語の意味をおさえておきましょう。
「プロシージャ」とは、「ステートメント」をひとつにまとめた処理の単位のことです。
ちなみに「ステートメント」とは、ひとつひとつのコードのことです。
つまり、「プロシージャ」とは、ひとつひとつのコードの集まりのことを指します。
具体的なコードをつかってご説明します。
「ステートメント」はこちらの赤枠で囲まれた部分です。
「プロシージャ」はこちらの赤枠で囲まれた部分です。
プロシージャの種類
プロシージャにはいくつかの種類がありますが、基本的によくつかうのは「Sub」です。
種類 | 内容 |
Sub | 「Sub」ではじまるプロシージャ。もっとも一般的。 |
Function | 「Function」ではじまるプロシージャ。ワークシート関数(自作の関数)の作成に使用。 |
Property | プロパティを作成するためのプロシージャ。 |
はじめての場合は「”Sub”以外にもあるんだなぁ。」くらいの認識で大丈夫です。基本的なマクロ作成では、あまり使わないためです。
プロシージャの適用範囲
プロシージャの適用範囲を選択できます。
ここでいう適用範囲とは、他のモジュールからプロシージャの呼出ができるかどうか有効範囲を設定することになります。
適用範囲 | 内容 |
Public | 他のモジュールからプロシージャの呼出ができる。 |
Private | 他のモジュールからプロシージャの呼出ができない。 |
はじめのうちは適用範囲を設定しなくても大丈夫です。
VBAのユーザーフォームとは
ユーザーフォームとは、「フォーム」を作成するための場所です。
このような画面から「フォーム」という、操作画面を作成することができます。
マクロ作成に少し慣れたきたら「フォーム」にも挑戦してみましょう!
まとめ
いろいろとご紹介しましたが基本的なマクロを作るときは、「標準モジュール」と「Subプロシージャ」をつかいます。
まずは基本的なことをおさえてから、「もっと複雑なマクロをつくりたい!」と思ったらその他の学習をはじめるのでも問題はないと思います。