VBAのコードを読み書きするうえで、最初に理解しておくべき概念が3つあります。オブジェクト・プロパティ・メソッドです。この3つを理解することで、VBAのコードの構造が見えてきます。
この記事では、3つの要素をそれぞれ具体例とともに解説します。
オブジェクト・プロパティ・メソッドとは何か?
VBAのコードは「何を(オブジェクト)・どんな状態に(プロパティ)・どう動かすか(メソッド)」という構造で成り立っています。
' 例:シート「売上」のA1セルの背景色を赤にする
Worksheets("売上").Cells(1, 1).Interior.Color = RGB(255, 0, 0)
このコードを分解すると次のようになります。
| 要素 | 内容 | 例 |
|---|---|---|
| オブジェクト | 操作の対象(「何を」) | セル・シート・ブック |
| プロパティ | オブジェクトの属性・状態(「どんな状態に」) | 背景色・値・名前・太さ |
| メソッド | オブジェクトへの動作(「どう動かすか」) | コピー・削除・保存・印刷 |
オブジェクトとは?
オブジェクトは「操作の対象」です。VBAで最もよく使うオブジェクトは次の3つです。
- セル(
Cells・Range):値や書式を操作する - シート(
Worksheets):シートの追加・削除・名前変更などを行う - ブック(
Workbooks):ファイルを開く・閉じる・保存するなどを行う
プロパティとは?
プロパティはオブジェクトの属性や状態を表します。.(ドット)でつないでオブジェクトの後ろに書きます。
' プロパティの例
Cells(1, 1).Value = "売上" ' セルの値
Cells(1, 1).Interior.Color = RGB(255, 0, 0) ' セルの背景色
Worksheets("Sheet1").Name = "売上" ' シートの名前
プロパティは「状態の読み取り」と「状態の設定」の両方に使えます。
メソッドとは?
メソッドはオブジェクトに対する「動作」です。コピー・削除・保存・印刷などが代表例です。
' メソッドの例
Cells(1, 1).Copy ' セルをコピー
Rows(3).Delete ' 3行目を削除
ActiveWorkbook.Save ' ブックを保存
Worksheets("Sheet1").PrintOut ' シートを印刷
プロパティとの見分け方の目安として、= で値を設定するものがプロパティ、動作を表すものがメソッドです。
まとめ
- オブジェクト:操作の対象。セル・シート・ブックが基本の3つ
- プロパティ:オブジェクトの属性・状態。値・色・名前など
=で設定する - メソッド:オブジェクトへの動作。コピー・削除・保存など
- マクロの記録でコード化されるのはこの3つだけ(条件分岐・繰り返しは自分で書く)
- 3つの構造を理解するとVBAのコードが読み解きやすくなる
よくある質問
プロパティとメソッドの見分け方はありますか?
プロパティは オブジェクト.プロパティ = 値 のように = で値を設定するものです。メソッドは オブジェクト.メソッド または オブジェクト.メソッド 引数 のように動作を指示するものです。ただし両方の性質を持つ場合もあります。
オブジェクト以外にVBAの要素はありますか?
あります。VBAを構成する要素は「オブジェクト・プロパティ・メソッド・関数・ステートメント」の5つです。関数(MsgBox・Formatなど)とステートメント(If・For・Dimなど)はオブジェクトなしでも使えます。
VBEのオートコンプリートを活用すると何が便利ですか?
オブジェクトの後ろに .(ドット)を入力すると、使えるプロパティとメソッドの一覧が表示されます。これを活用するとスペルミスを防ぎながら効率よくコードが書けます。
ブック・シート・セルの順に指定しないといけませんか?
省略できる部分は省略できますが、省略するとアクティブなブック・シートが対象になります。意図した場所に処理するために、少なくともシートは明示することを推奨します。
オブジェクトはセル・シート・ブック以外にもありますか?
あります。グラフ(Chart)・図形(Shape)・ピボットテーブル(PivotTable)・名前付き範囲(Name)なども代表的なオブジェクトです。基本の3つを習得したら徐々に広げていきましょう。
動画で学びたい方へ
「記事を読んでも、実際に自分で書けるか不安…」という方には、動画で基礎からじっくり学べる講座がおすすめです。
VBAが初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。



