では、初心者が「プロパティ」と「メソッド」の違いを理解できるように、例題 → 回答コード → 解説 の流れでいくつか用意しました。
例題1:セルの値をコピーする
問題:
セル A1 に入力されている値を、セル B1 にコピーしてください。
回答コード:
Sub CopyValue()
Range("B1").Value = Range("A1").Value
End Sub
VB解説:
Range("A1").Value→ A1セルの値を取得(プロパティ)Range("B1").Value = ...→ B1セルの値を設定(プロパティ)- プロパティは「状態(値)」を読み書きするために使う。
例題2:セルの見た目を変える
問題:
セル C1 の文字を赤色・太字にしてください。
回答コード:
Sub FormatCell()
With Range("C1").Font
.Bold = True
.Color = RGB(255, 0, 0)
End With
End Sub
VB解説:
Font.Bold→ 太字にするプロパティFont.Color→ 文字色を設定するプロパティWith ... End Withを使うと、同じセルに対する指定をまとめられて見やすい。
例題3:セルを削除する
問題:
セル D2 を削除し、下のセルを上に詰めてください。
回答コード:
Sub DeleteCell()
Range("D2").Delete Shift:=xlShiftUp
End Sub
VB解説:
Deleteは「削除する」というメソッド(動作を実行する命令)。Shift:=xlShiftUpという引数を指定することで、削除後に下のセルを上に詰める。- プロパティと違って「=」ではなく「()」や引数を伴うのが特徴。
例題4:シートを追加して名前をつける
問題:
新しいシートを追加し、そのシート名を「集計」にしてください。
回答コード:
Sub AddSheetAndRename()
Dim ws As Worksheet
Set ws = Worksheets.Add
ws.Name = "集計"
End Sub
VB解説:
Worksheets.Add→ 新しいシートを追加するメソッドws.Name = "集計"→ シートの名前を設定するプロパティ- 「追加する」という動作はメソッド、「名前を変える」という状態変更はプロパティ。
まとめ
- プロパティ → 値や見た目など「状態」を読み書きする
- メソッド → 削除・追加・コピーなど「動作」を実行する
- VBAは「オブジェクト(対象)」に対して「プロパティ(状態)」や「メソッド(動作)」を指定する仕組み
