Home » Excel VBA Rangeオブジェクト » 条件付き書式 » FormatConditionsのカッコ内数字の意味は?

FormatConditionsのカッコ内数字の意味は?

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「vba formatconditions ()の数字の意味?」
といった検索で、このサイト『インストラクターのネタ帳』へアクセスがありました。

Excel VBAで条件付き書式を削除する際に、
  Cells.FormatConditions(1).Delete
といったコードを書きます。

このオブジェクト式で使われている「FormatConditions(1)」の「1」の意味について調べていらしたのが、
「vba formatconditions ()の数字の意味?」
という検索キーワードです。

[スポンサードリンク]

FormatConditionsの数字はWorkbooksやWorksheetsの数字の仲間

結論からいうと、
FormatConditionsの直後に書かれるカッコ内の数字は、
FormatConditionsコレクションオブジェクトから、
FormatConditionオブジェクトを取得するための引数です。

FormatConditionsのカッコ内数字の意味は?

Excel VBAでよく見かける、コレクションオブジェクトから、単独のオブジェクトを取得するための数字です。

Worksbooksコレクションオブジェクトから単独のWorkbookオブジェクトを取得するときのWorkbooks(1)、Worksheetsコレクションオブジェクトから単独のWorksheetオブジェクトを取得するときのWorksheets(1)のように、カッコ内に書かれる数字の仲間です。

Excel VBAで条件付き書式を設定する

簡単な条件付き書式を設定するマクロを実行して、FormatConditionsの直後に書かれる数値について確認しましょう。

条件付き書式の条件だけを設定するサンプルマクロ

まず、FormatConditionsの直後に、数字の書かれていない、条件付き書式の条件だけを設定するマクロを実行しましょう。
Sub 条件付き書式を設定する_条件のみ()
 With Range("A1:A5")
  .FormatConditions.Add _
    Type:=xlCellValue, _
    Operator:=xlEqual, _
    Formula1:="100"
  .FormatConditions.Add _
    Type:=xlCellValue, _
    Operator:=xlEqual, _
    Formula1:="0"
 End With
End Sub

A1:A5セルにはテストの点が入力されるワークシートで、100点と0点を目立たせる条件付き書式を設定しようとしていると考えてください。

上記のSubプロシージャを実行すると、アクティブシートのA1:A5セルに、以下のような条件付き書式の条件だけが設定されます。

FormatConditionsのカッコ内数字の意味は?

「セルの値 = 100」が1つ目の条件付き書式の条件で、この条件付き書式を表すFormatConditionオブジェクトが、FormatConditions(1)で取得できます。

「セルの値 = 0」が2つ目の条件付き書式の条件で、この条件付き書式を表すFormatConditionオブジェクトが、FormatConditions(2)で取得できます。

条件付き書式の条件だけを設定するサンプルマクロ

上記のマクロを実行して、条件付き書式の条件だけを設定したら、書式を設定するマクロを実行し、FormatConditions(1)とFormatConditions(2)を確認しましょう。
Sub 条件付き書式を設定する_書式のみ()
 With Range("A1:A5")
  .FormatConditions(1).Interior.Color _
    = RGB(0, 255, 0)
  .FormatConditions(2).Interior.Color _
    = RGB(255, 0, 0)
 End With
End Sub

上記のマクロを実行すると、先の書式が設定されていなかった条件付き書式が下図のようになります。

FormatConditionsのカッコ内数字の意味は?

100点の場合には緑色(RGB(0, 255, 0))、0点の場合には赤色(RGB(255, 0, 0))にする書式を設定しています。

このSubプロシージャで登場する「.FormatConditions(1)」の「1」が、FormatConditionsコレクションオブジェクトから、1つめの条件付き書式を表すFormatConditionオブジェクトを取得するための数値で、「.FormatConditions(2)」の「2」が、FormatConditionsコレクションオブジェクトから、2つめの条件付き書式を表すFormatConditionオブジェクトを取得するための数値です。

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 条件付き書式 » FormatConditionsのカッコ内数字の意味は?

Copyright © インストラクターのネタ帳 All Rights Reserved.

.