【Excel VBA入門】コードの書き方|モジュールとプロシージャ

記述編

VBEをつかったコードの書きはじめの方法についてご紹介をします。
コードを書く場所やコードの種類を設定することができます。

基本的にマクロを作成するときには「標準モジュール」と「Subプロシージャ」をつかってコードを記述しますが、その他の種類があることもおさえておきましょう。

スポンサーリンク

VBAのモジュールとは

モジュールとは、「マクロを作成するためのコードを記述する場所」のことです。

それぞれのモジュールの特徴はこちらです。

モジュール名内容
標準モジュール一般的なマクロを作成するためのモジュール
クラス モジュールクラスを定義するためのモジュール

標準モジュール

コードを記述するさいにつかう場所です。
また、「マクロの記録」によって自動記述されたコードが記録される場所でもあります。

ちなみに、「標準モジュール」以外にもコードを記述する場所はありますが、「標準モジュール」がもっとも一般的につかわれています。

クラスモジュール

クラスを定義するためのモジュールです。

クラスとは、オブジェクトの「設計図」のようなものです。
「設計図」に特定の機能や役割をあらかじめ持たせておいて、その「設計図」にもとづいてオブジェクトをつくっていきます。

「クラス」の考え方は複雑な内容になりますので、いまの段階では「クラスとかいうやつもつくれるのかー。」くらいの認識で大丈夫です。

VBAのプロシージャとは

さきほどのVBEのメニュー「挿入」に掲載されています。

「プロシージャ」を選択するとこのような画面がでてきます。

プロシージャとステートメント

まず、「プロシージャ」という単語の意味をおさえておきましょう。

「プロシージャ」とは、「ステートメント」をひとつにまとめた処理の単位のことです。
ちなみに「ステートメント」とは、ひとつひとつのコードのことです。

つまり、「プロシージャ」とは、ひとつひとつのコードの集まりのことを指します。

具体的なコードをつかってご説明します。
「ステートメント」はこちらの赤枠で囲まれた部分です。

「プロシージャ」はこちらの赤枠で囲まれた部分です。

  • ステートメント…1行のコード
  • プロシージャ…ひとつひとつのコードの集まり

プロシージャの種類

プロシージャにはいくつかの種類がありますが、基本的によくつかうのは「Sub」です。

種類内容
Sub「Sub」ではじまるプロシージャ。もっとも一般的。
Function「Function」ではじまるプロシージャ。ワークシート関数(自作の関数)の作成に使用。
Propertyプロパティを作成するためのプロシージャ。

はじめての場合は「”Sub”以外にもあるんだなぁ。」くらいの認識で大丈夫です。基本的なマクロ作成では、あまり使わないためです。

プロシージャの適用範囲

プロシージャの適用範囲を選択できます。
ここでいう適用範囲とは、他のモジュールからプロシージャの呼出ができるかどうか有効範囲を設定することになります。

適用範囲内容
Public他のモジュールからプロシージャの呼出ができる。
Private他のモジュールからプロシージャの呼出ができない。

はじめのうちは適用範囲を設定しなくても大丈夫です。

VBAのユーザーフォームとは

ユーザーフォームとは、「フォーム」を作成するための場所です。

このような画面から「フォーム」という、操作画面を作成することができます。

マクロ作成に少し慣れたきたら「フォーム」にも挑戦してみましょう!

まとめ

いろいろとご紹介しましたが基本的なマクロを作るときは、「標準モジュール」と「Subプロシージャ」をつかいます。

まずは基本的なことをおさえてから、「もっと複雑なマクロをつくりたい!」と思ったらその他の学習をはじめるのでも問題はないと思います。