VBAテクニック集 VBA一覧 その他の知識 プロパティ・メソッド解説

【VBA】プロパティ一覧|意味・使い方・実務で覚えるべき基本と応用

ExcelVBAでマクロを組んでいると、「プロパティ」という言葉を頻繁に目にします。
たとえば「Range.Value」「Workbook.Name」「Sheet.Visible」など、VBAのほとんどの操作はこの「プロパティ」を通して行われます。

しかし初心者のうちは、プロパティとメソッドの違いが曖昧で、
「どこまでがプロパティ?」「何を設定できるの?」と迷うことが多いものです。

この記事では、VBAのプロパティの意味と代表的な一覧・実務での使い方をわかりやすく解説します。
最後まで読めば、プロパティの考え方が整理でき、実務マクロの可読性と保守性を一気に高められるようになります。

✅ VBAにおける「プロパティ」とは?

VBAにおけるプロパティとは、オブジェクトの「属性(性質)」を取得・設定するための要素です。

Excelの世界では、あらゆるもの(セル、シート、ブック、グラフなど)が「オブジェクト」として扱われ、
それぞれに「名前」「値」「状態」などのプロパティを持っています。

たとえば次のような例を見てみましょう。

Range("A1").Value = "テスト"

この場合、

  • 「Range("A1")」はセルオブジェクト
  • 「Value」はそのセルの値を表すプロパティ

つまり、プロパティを通して「セルA1の値」という情報にアクセスしているわけです。


・プロパティとメソッドの違い

種類役割
プロパティ値や状態を取得・設定するRange("A1").Value, Sheet.Name
メソッド動作を実行するRange("A1").Copy, Sheet.Delete

✅ プロパティ → “何を持っているか”
✅ メソッド → “何をするか”

この違いを理解するだけで、VBAのコードは格段に読みやすくなります。

参考:【VBA】プロパティが表示されない時の原因と解決方法


✅ よく使う主要プロパティ一覧(カテゴリー別)

プロパティは膨大にありますが、日常業務でよく使うものをオブジェクト別に整理しました。
まずはこの一覧を理解することから始めましょう。


【1】Range(セル・範囲)オブジェクトのプロパティ

セルや範囲を操作するときに最も多用するのが「Range」オブジェクトのプロパティです。

プロパティ名説明使用例
Valueセルの値を取得・設定Range("A1").Value = 100
Formula数式を取得・設定Range("B1").Formula = "=SUM(A1:A3)"
Addressセルのアドレスを返すMsgBox Range("B3").Address
Fontフォント情報を表すオブジェクトRange("A1").Font.Bold = True
Interior背景色を設定するオブジェクトRange("A1").Interior.Color = vbYellow
NumberFormat表示形式を設定Range("A1").NumberFormat = "0.00"
Row / Column行番号・列番号を取得MsgBox Range("C5").Column
EntireRow / EntireColumn行全体・列全体を取得Range("A1").EntireRow.Hidden = True

💡ポイント:


【2】Worksheet(シート)オブジェクトのプロパティ

シート全体を操作するときに使う代表的なプロパティです。

プロパティ名説明使用例
Nameシート名を取得・設定Sheets(1).Name = "集計表"
Visible表示・非表示を設定Sheets("Sheet2").Visible = xlSheetVeryHidden
Cellsセル全体を表すオブジェクトSheets(1).Cells(1, 1).Value = "A1"
UsedRange使用済み範囲を取得MsgBox Sheets(1).UsedRange.Address
ProtectContentsシートが保護されているかを確認If Sheet1.ProtectContents Then MsgBox "保護中"

⚙ 補足:

Visibleの設定値は次の3種類があります。

  • xlSheetVisible(表示)
  • xlSheetHidden(通常の非表示)
  • xlSheetVeryHidden(VBE上でしか再表示できない非表示)

実務では機密シートの隠蔽などでVeryHiddenをよく使います。

参考:【VBA】Worksheet.Activate が実行されない原因と解決方法


【3】Workbook(ブック)オブジェクトのプロパティ

ブック全体の状態を操作するプロパティです。

プロパティ名説明使用例
Nameブック名を取得MsgBox ThisWorkbook.Name
FullNameファイルパスを含めた名前MsgBox ThisWorkbook.FullName
Path保存場所のパスを取得MsgBox ThisWorkbook.Path
ReadOnly読み取り専用かどうかIf ThisWorkbook.ReadOnly Then MsgBox "読み取り専用です"
Saved保存済みかどうかIf Not ThisWorkbook.Saved Then ThisWorkbook.Save
Sheetsシートコレクションを参照For Each ws In ThisWorkbook.Sheets: Debug.Print ws.Name: Next

💡実務での使い方:

「ファイルの自動保存」や「バックアップ作成」などで頻繁に使われます。
PathNameを組み合わせれば、現在のファイルパスを取得して別名保存も可能です。

参考:【VBA】ファイルを選択して開く方法|Application.GetOpenFilenameとWorkbooks.Openの実践例


【4】Application(Excelアプリ全体)プロパティ

Excelのアプリケーション全体を制御するプロパティです。

プロパティ名説明使用例
ScreenUpdating画面更新のON/OFFApplication.ScreenUpdating = False
Calculation再計算モードを設定Application.Calculation = xlCalculationManual
DisplayAlerts確認ダイアログの表示設定Application.DisplayAlerts = False
StatusBarステータスバーにメッセージ表示Application.StatusBar = "処理中..."
VersionExcelのバージョン番号MsgBox Application.Version
ActiveWorkbook / ActiveSheet現在操作中のブック・シートMsgBox ActiveSheet.Name

⚙ 実務のポイント:

長時間の処理を行う際は、

Application.ScreenUpdating = False  
Application.DisplayAlerts = False  

をセットで使うのが定番です。
動作速度が上がり、意図しないダイアログ停止も防げます。

参考:【VBA】Application.ScreenUpdatingプロパティの使用方法と特徴


【5】Chart(グラフ)オブジェクトのプロパティ

グラフを自動生成・更新する際に使う代表的なプロパティです。

プロパティ名説明使用例
ChartTypeグラフの種類を指定ActiveChart.ChartType = xlColumnClustered
HasTitleタイトルの有無を設定ActiveChart.HasTitle = True
ChartTitle.Textタイトル名を設定ActiveChart.ChartTitle.Text = "売上推移"
SeriesCollectionデータ系列を参照ActiveChart.SeriesCollection(1).Name = "2025年度"
Legend凡例の表示を制御ActiveChart.Legend.Position = xlLegendPositionBottom

💡補足:

グラフ操作ではプロパティとメソッドの両方を駆使します。
特に「ChartTitle.Text」はタイトル変更、「HasTitle」は表示ON/OFFというように組み合わせて使うのが一般的です。


✅ プロパティの取得と設定の基本構文

プロパティの使い方には「取得」と「設定」の2パターンがあります。

・取得(Get)

MsgBox Range("A1").Value

セルA1の値を取得してメッセージボックスに表示します。

・設定(Set)

Range("A1").Value = "Hello"

セルA1のValueプロパティに文字列を設定しています。

また、オブジェクト型プロパティを扱う場合は「Set」を使います。

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")

これは「Sheets」プロパティからSheet1オブジェクトを取得する構文です。




✅ プロパティを活用した実務サンプル

プロパティは単独で使うより、複数を組み合わせて業務を自動化することで真価を発揮します。

・セルの背景色と文字色を一括変更

Sub FormatCells()
    With Range("A1:A10")
        .Interior.Color = vbYellow
        .Font.Color = vbBlue
        .Font.Bold = True
    End With
End Sub

このように「With~End With」でプロパティをまとめると、
コードが見やすくなり実行速度も上がります。


・非表示シートの確認と再表示

Sub ShowHiddenSheets()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Sheets
        If ws.Visible = xlSheetHidden Or ws.Visible = xlSheetVeryHidden Then
            ws.Visible = xlSheetVisible
        End If
    Next ws
End Sub

ここでは「Visible」プロパティを活用して、
全シートの表示状態を一括で制御しています。

参考:【VBA】Visibleプロパティ:(シートやワークブック)表示・非表示


・ブックの自動保存チェック

Sub AutoSaveCheck()
    If Not ThisWorkbook.Saved Then
        ThisWorkbook.Save
        MsgBox "自動保存を実行しました。"
    End If
End Sub

Savedプロパティは、「前回保存から変更があったか」を判定する便利なプロパティです。
自動保存マクロやバックアップ処理でよく使われます。

参考:【VBA】Application.GetSaveAsFilenameメソッドを使用する方法


✅ よくある混乱ポイント:プロパティかメソッドか分からないとき

初心者が混乱しやすいのが、「プロパティだと思っていたのに実はメソッドだった」ケースです。

間違いやすい例正しい分類補足
Range("A1").Clearメソッド「Clear」は動作命令(消す)
Range("A1").Valueプロパティ値を取得・設定する
Sheet.Visibleプロパティ表示状態を持つ属性
Workbook.Saveメソッド保存という動作を行う

🔸 動作(アクション)=メソッド
🔸 情報(状態・属性)=プロパティ

この考え方で整理すれば、ほとんど迷うことはありません。


✅ 実務でプロパティを使いこなすコツ

・「.」ドットでつながる関係を意識する

たとえば
Application → Workbook → Worksheet → Range → Value
のように、上位オブジェクトから下位オブジェクトへ「.」でつながっていきます。

構造を理解しておくと、未知のプロパティも推測しやすくなります。


・IntelliSense(入力候補)を活用する

VBE(Visual Basic Editor)では、オブジェクト名のあとに「.」を打つと
使用できるプロパティ・メソッドの候補が表示されます。

この補完機能を活用すれば、覚えていなくても実行可能なプロパティを確認できます。


・プロパティの階層を調べるには「オブジェクトブラウザ」

VBEの「表示」→「オブジェクトブラウザ(F2)」を開くと、
各オブジェクトに紐づくプロパティ一覧が確認できます。

調べたいオブジェクト名を選択し、右ペインに表示される一覧から詳細を確認できるので、
プロパティの辞書として活用するのがおすすめです。


■ まとめ:VBAのプロパティを理解すれば自動化の自由度が一気に上がる

  • プロパティは「オブジェクトの情報を取得・設定するための要素」
  • Range.ValueSheet.Nameなど、日常的に使う基本から覚える
  • Application / Workbook / Worksheet / Range の4階層構造を理解する
  • 「情報を持つ=プロパティ」「動作する=メソッド」で整理
  • 実務ではWith構文・DoEvents・Visible・Font・Interiorなどのプロパティが必須

VBAのプロパティを理解することは、Excel操作を“記録する”段階から“制御する”段階へ進むための大きな一歩です。
単なる命令の羅列ではなく、「Excelを自分でコントロールする力」を手に入れることができます。

-VBAテクニック集, VBA一覧, その他の知識, プロパティ・メソッド解説