Excel VBA 基礎学習 第2回
第2回では、第1回で作成した「vba1.xlsm」を利用して「VBEの基本操作」「モジュールの作成方法」「プロシージャの作成方法」などを学習します。
第1章 マクロブックの利用
【目標】
VBEの概要を理解する。
VBEの基本的な操作方法を理解して行える。
プロジェクトエクスプローラーについて概要を理解する。
プロパティウィンドウについて概要を理解する。
第1項 VBEの概要と基本操作
【VBEの概要】
VBEはVisual Basic Editorの略で、VBA(Visual Basic for Applications)の編集などを行える開発用のアプリケーションです。VBEは開発タブの「Visual Basic」から起動できます。
【VBEの操作】
「vba1.xlsm」を開き「開発タブ」をクリック。
リボンの一番左にある「Visual Basic」をクリック。
VBEが起動します。
VBEには開発のための便利なツールがいくつも準備されています。特に重要な個所の名称は把握しましょう。
まずは、起動直後に表示されている次のふたつの名称を確認します。
「プロジェクトエクスプローラー」はマクロブック内のシートや、モジュールの階層関係を表示します。
「プロジェクトエクスプローラー」が表示されていない場合は、「表示タブ」→「プロジェクトエクスプローラー」をクリックし、表示させます。
「プロパティウィンドウ」は、選択されたオブジェクト(ワークシートやセル、ウィンドウなど)の設定値(色や名前)を表示します。
「プロパティウィンドウ」が表示されていない場合は、「表示タブ」→「プロパティウィンドウ」をクリックし、表示させます。
第2章 モジュールとプロシージャ
【目標】
モジュールについて概要と作成方法を理解する。
プロシージャについて概要と作成方法を理解する。
Option Explicitの概要を理解する。
第1節 モジュールの概要と作成方法
【モジュールの概要】
モジュールはVBAを記述するためのファイルです。モジュールには「ユーザーフォーム」「標準モジュール」「クラスモジュール」があります。この記事では「標準モジュール」を利用してVBAの学習を行います。
【モジュールの作成方法】
VBEの「挿入タブ」を選択し、表示される「標準モジュール」をクリックします。
標準モジュールが作成されます。標準モジュールは作成される毎に、「Module+数値」として名前が付けられます。(名前の変更は作成後に行います。)
モジュールが選択されるとVBEの表示が次のように変わります。
プロジェクトエクスプローラーに標準モジュールが表示され。プロパティウィンドウに選択されたモジュールのプロパティが表示されます。
モジュールが選択されるとコードウィンドウが表示されプログラムの編集が可能になります。
「コードウィンドウ」はVBAを記述するためのウィンドウです。次節ではここにプロシージャを記述していきます。
※モジュールが複数存在する場合は、選択するモジュールごとにウィンドウが切り替わります。
【モジュール名の変更】
先ほど作成したモジュールの名前を「Module1」から「practice_1」に変更します。モジュール名の変更はプロパティウィンドウのオブジェクト名を修正することで行えます。
プロパティウィンドウのオブジェクト名を「practice_1」に修正します。
修正を行ったらEnterキーを押します。プロジェクトエクスプローラーのモジュール名が「practice_1」に変更されます。
第2節 プロシージャの概要と記述方法
【プロシージャの概要】
プロシージャとはVBAの個々のプログラムのことをいいます。モジュールには複数のプロシージャを記述することができます。プロシージャは「Sub プロシージャ名」と「End Sub」で括られたプログラムのことです。
【プロシージャの記述方法】
標準モジュール「practice_1」へプロシージャを記述します。この記事では現状、モジュールの数はひとつですが、実際の開発では複数のモジュールが存在する場合もあります。このような場合は、必ずプロパティウィンドウのオブジェクト名を確認するようにしましょう。
前節までの作業が誤っていなければ、現在のプロパティウィンドウのオブジェクト名は「practice_1」となっています。これは、現在利用しているモジュールファイルは「practice_1」という意味です。
もし、オブジェクト名が違う場合はプロジェクトエクスプローラーの標準モジュール「practice_1」をダブルクリックして選択をし直してください。この状態(選択されたモジュールが「practice_1」)で、次のキャプチャのように、コードウィンドウにカーソルをあて、記述の準備をします。
【プロシージャの作成】
まずは、下キャプチャのように入力を行います。
【入力方法】
一行目:「大文字のO」「小文字のption」「半角スペース」「大文字のE」「小文字のxplicit」と入力して改行を行います。
続けて「大文字のS」「小文字のub」「半角スペース」「sample1()」を入力して改行を行います。
「End Sub」が自動で生成され、SubとEnd Subで括られた空(から)のプログラムが作成されます。このSubとEnd Subで括られたプログラムがプロシージャです。
同様に「Sub sample2()」「Sub sample3()」を作成します。このように、モジュール内にはプロシージャを複数記述できます。
ここでは(上キャプチャでは)中身が空のプロシージャを3つ作成しています。
第3節 Option Explicit
【Option Explicitの概要】
Option Explicitは変数の宣言を強制させるための宣言です。
【Option Explicitを記述する理由】
※変数というキーワードがでてきます。変数については別の記事で扱います。ここでは「プログラムに利用される何か」という認識で読み進めてください。
VBAでは変数の利用に際して宣言を明示せず利用することが可能です。但し、この場合、変数がもつ型が分かりづらくなることや、変数として利用した名前と違う名前をプログラム内で利用(入力)してしまうなどのミスが起こりやすくなります。このため、VBAでは基本的には「Option Explicit」はモジュールの一行目に記述して変数の宣言を強制させます。これにより、バグを減らすことが期待できます。
本記事(基礎学習 第2回)の内容は以上です。