「vba formatconditions ()の数字の意味?」
といった検索で、このサイト『インストラクターのネタ帳』へアクセスがありました。
Excel VBAで条件付き書式を削除する際に、
Cells.FormatConditions(1).Delete
といったコードを書きます。
このオブジェクト式で使われている「FormatConditions(1)」の「1」の意味について調べていらしたのが、
「vba formatconditions ()の数字の意味?」
という検索キーワードです。
FormatConditionsの数字はWorkbooksやWorksheetsの数字の仲間
結論からいうと、
FormatConditionsの直後に書かれるカッコ内の数字は、
FormatConditionsコレクションオブジェクトから、
FormatConditionオブジェクトを取得するための引数です。
Excel VBAでよく見かける、コレクションオブジェクトから、単独のオブジェクトを取得するための数字です。
Worksbooksコレクションオブジェクトから単独のWorkbookオブジェクトを取得するときのWorkbooks(1)、Worksheetsコレクションオブジェクトから単独のWorksheetオブジェクトを取得するときのWorksheets(1)のように、カッコ内に書かれる数字の仲間です。
Excel VBAで条件付き書式を設定する
簡単な条件付き書式を設定するマクロを実行して、FormatConditionsの直後に書かれる数値について確認しましょう。
条件付き書式の条件だけを設定するサンプルマクロ
まず、FormatConditionsの直後に、数字の書かれていない、条件付き書式の条件だけを設定するマクロを実行しましょう。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セルに、以下のような条件付き書式の条件だけが設定されます。
「セルの値 = 100」が1つ目の条件付き書式の条件で、この条件付き書式を表すFormatConditionオブジェクトが、FormatConditions(1)で取得できます。
「セルの値 = 0」が2つ目の条件付き書式の条件で、この条件付き書式を表すFormatConditionオブジェクトが、FormatConditions(2)で取得できます。
条件付き書式の条件だけを設定するサンプルマクロ
上記のマクロを実行して、条件付き書式の条件だけを設定したら、書式を設定するマクロを実行し、FormatConditions(1)とFormatConditions(2)を確認しましょう。With Range("A1:A5")
.FormatConditions(1).Interior.Color _
= RGB(0, 255, 0)
.FormatConditions(2).Interior.Color _
= RGB(255, 0, 0)
End With
End Sub
上記のマクロを実行すると、先の書式が設定されていなかった条件付き書式が下図のようになります。
100点の場合には緑色(RGB(0, 255, 0))、0点の場合には赤色(RGB(255, 0, 0))にする書式を設定しています。
このSubプロシージャで登場する「.FormatConditions(1)」の「1」が、FormatConditionsコレクションオブジェクトから、1つめの条件付き書式を表すFormatConditionオブジェクトを取得するための数値で、「.FormatConditions(2)」の「2」が、FormatConditionsコレクションオブジェクトから、2つめの条件付き書式を表すFormatConditionオブジェクトを取得するための数値です。
- Newer:データの入力規則は英語で何という?
- Older:Word VBAでExcelシートを操作する
Home » Excel VBA Rangeオブジェクト » 条件付き書式 » FormatConditionsのカッコ内数字の意味は?