ここで説明するVBAの用語は次の通りです。
1.VBE
2.標準モジュールとSubプロシージャ
3.オブジェクト・プロパティ・メソッド
4-1.VBE
VBAでのプログラミングは、VBE(Visual Basic Editor)と呼ばれる編集ソフトを使い、VBAを入力したりマクロを編集します。
1).[開発]タブ・[Visual Basic]ボタンをクリックすると、VBEの画面が表示されます。
2).VBEの画面(図クリックで拡大表示)
VBEの画面は、大きく三つに分かれています。
【a】:コードウィンドウ (VBAプログラムを記述)
【b】:プロジェクトエクスプローラー
【c】:プロパティウィンドウ
【b】【c】が表示されていない場合は、[表示]タブから必要となるウィンドウをクリックします。
3).VBEの画面操作
VBEには、多くの機能がありますが、まず画面左上の次の二つを覚えてください。
- リセット:VBA実行中に異常終了する場合もあり、異常終了した状態を解除しない限り次の操作へ進むことができませんので、上記右の[■]アイコンをクリックし、異常終了の状態を解除します。
- Excelへ戻る:上記左の[Excelマーク]アイコンをクリックすれば、Excelの画面に戻ります。
4-2.標準モジュールとSubプロシージャ
プロジェクトエクスプローラーの標準モジュール[VBA説明用]をダブルクリックすれば、コードウィンドウの中に、複数のSubプロシージャ[sub 説明用xx ~ End Sub](一連の命令を一つの処理としたもの)が表示されます。
標準モジュール以外のモジュール、Subプロシージャ以外のプロシージャもありますが、この株価チャート作成プログラムでは使用しませんので、以下、標準モジュールを「モジュール」、Subプロシージャを「プロシージャ」と記述します。
プロシージャ構成は次の通りです。
Sub プロシージャ名 ()
処理
End Sub
今回用意した標準モジュールとモジュール内のプロシージャは次の通りです。
モジュール名 | プロシージャ |
---|---|
Module1 | サンプル_ステップ1 |
Module2 | サンプル_ステップ2 |
Module3 | サンプル_ステップ3 |
Module4 | サンプル_株価チャート作成 |
VBA説明用 | シート[VBA説明用] |
マクロ_Step2_並び替え | 並び替えのマクロ |
マクロ_Step3_株価チャート | 株価チャート作成のマクロ |
実習用_VBA | [VBA説明用]の実習用 (自由に編集可能) |
実習用_ステップ1 | [ステップ1]の実習用 (自由に編集可能) |
実習用_ステップ2 | [ステップ2]の実習用 (自由に編集可能) |
実習用_ステップ3 | [ステップ3]の実習用 (自由に編集可能) |
実習用_株価チャート作成 | [株価チャート作成]の実習用 (自由に編集可能) |
4-3.オブジェクト・プロパティ・メソッド
プロシージャの中は、処理を行う命令(ステートメントという)で記述され、命令は「オブジェクト」「プロパティ」「メソッド」から構成されます。
- オブジェクト:VBAでの処理の対象で、プロパティ・メソッドを使って操作
- プロパティ:オブジェクトの属性(セルの色・値・フォントサイズ等)を指定
- メソッド:オブジェクトに対する動作(コピー・削除・移動等)を指定
このオブジェクト・プロパティ・メソッドについて、最初は理解しにくいと思いますので、当面はExcelでの操作で説明しますが、感覚的な理解で問題ありません。
Excelではセルに値を入力したり、シートを挿入したりしますね。これらの操作をVBAでは次のように「オブジェクト」「プロパティ」「メソッド」に分けてとらえます。
例1.Excel:セル[A1]に[日付]という文字列を入れる
- オブジェクト:セル[A1]
- プロパティ:[日付]
例2.Excel:セル[A1]の[日付]という文字列のフォントの色を[赤]にする
- オブジェクト:セル[A1]の[日付]という文字列のフォントの色
- プロパティ:[赤]
例3.Excel:セル[A1]の値をクリアする
- オブジェクト:セル[A1]の値
- メソッド:クリアする
例4.Excel:セル[A1]の値をコピーし、セル[C1]に貼り付ける
- オブジェクト:セル[A1]の値
- メソッド:コピーする
- オブジェクト:セル[C1]の値
- メソッド:貼り付ける
いかがですか?「オブジェクト」「プロパティ」「メソッド」というと難しく感じますが、「VBAでは操作をオブジェクト、プロパティ、メッソドに分ける」と解釈すれば難しくないのではと思います。
実際のVBAでのプロパティ、メソッドは、次のように対象となるオブジェクトの後にピリオド「.」で区切って使用します。
- オブジェクト.プロパティ
- オブジェクト.メソッド
それでは、[Excel]アイコンをクリックしてExcelの画面に戻りましょう。