EB000006_VBAエキスパート(ExcelVBAベーシック)合格講座/第六回:プロシージャ

VBAエキスパート(ExcelVBAベーシック)合格講座/第六回:プロシージャ ExcelVBA Basic

このページの内容について

このページは、VBAエキスパート(ExcelVBAベーシック)試験合格講座の第六回記事です。公式テキスト第3章「モジュールとプロシージャ」の内容について解説します。自分でも手を動かしながら読み進めてください。

プロシージャ

プロシージャとは

ExcelVBAで作成されたプログラムのことを一般にマクロと呼びます。マクロと言ってもユーザーフォームや、Webスクレイピングなどの複雑な処理をするマクロもあれば、シートのデータを削除するだけの単純なマクロもあります。マクロの最も最小の実行単位を「プロシージャ」と呼び、どんなマクロもこのプロシージャの組み合わせで作成されています。

プロシージャの例

下記画像では「M01_Main」というモジュール内に「Main」と「SubProcess」という2つプロシージャがあり、「Public Sub Main()」~「End Sub」まで「Public Function SubProcess() As String」~「End Function」までのそれぞれが一つのプロシージャのかたまりです。

プロシージャの種類

Subプロシージャ

値を返すことができないプロシージャです。このプロシージャはシート上に配置したボタンや、開発タブのマクロから発動することができます。「Sub 〇〇」~「End Sub」までのかたまりを指します。

Functionプロシージャ

呼び出し元に値を返すことができるプロシージャです。このプロシージャはシート上に配置したボタンなどからの発動はできませんが、Excelの関数(SUMとかVLOOKUPとか)と同じようにセル上に記述し呼び出すことができます(ユーザー定義関数)。「Function 〇〇」~「End Function」までのかたまりを指します。

Propertyプロシージャ

よくクラスモジュールで使用するものと説明されていますが、標準モジュールでも使用できます。このあとの解説で登場する「オブジェクト」の要素であるメソッドとプロパティの「プロパティ」にあたる機能を提供するプロシージャです。使いどころは前述の2つのプロシージャとはかなり違います。「Property 〇〇」~「End Property」までのかたまりを指します。

Propertyプロシージャは、他の2つのプロシージャとは一味違った使い方ができる便利なプロシージャであるものの、VBAエキスパート試験の出題範囲ではありませんので、講座ではこれ以上の詳細な解説はしません。

【PR】VBAエキスパート試験対策記事

当サイトでは、オデッセイコミュニケーションズ社が運営する試験であるVBAエキスパートExcel VBA ベーシックExcel VBA スタンダード)の出題範囲をベースに用語や各種関数の解説などを行っています。試験合格に向けて必須と言われる公式テキストに沿って解説をしています。受験をするか悩んでいる方、テキストとは別視点の解説を見てみたい方、受験はしないがExcelVBA(マクロ)に興味がある方へ向けた記事です。

Comment