VBAで条件付き書式のデータバーを設定する

Range.FormatConditions.AddDatabarメソッド

指定セル範囲の値の大きさによってセル内にデータバーを表示する条件付き書式を設定する場合はRange.FormatConditionsオブジェクトのAddDatabarメソッドを利用します。

AddDatabarメソッドを実行すると戻り値としてDataBarオブジェクトが返されます。

DataBarオブジェクトの各プロパティを設定することで条件に一致した場合にセルに装飾する設定を行います。

なお、AddDatabarメソッドの代わりにRange.FormatConditions.Addメソッドの引数TypeでxlDatabarを指定した場合でも同じようにデータバー表示のルールの設定を行うことが可能です。

構文

Range.FormatConditions 親オブジェクトとして指定します。
DataBar 戻り値としてDataBarオブジェクトを返します。

DataBarオブジェクトのプロパティ

AddDatabarメソッドで返されるDataBarオブジェクトの各種プロパティを利用して書式を設定します。

Application DataBarオブジェクトを作成したApplicationオブジェクトを取得します。値の取得のみ可能です。
AppliesTo 書式ルールが適用されているセル範囲を表す Range オブジェクトを返します。
AxisColor データバーとして条件付き書式を使用するセルの軸の色を返します。値の取得のみ可能です。
AxisPosition 書式設定ルールにより指定されるデータバーの軸の位置を取得または設定します。値の取得および設定が可能です。
BarBorder データバーの枠線を指定するDataBarBorderオブジェクトを返します。値の取得のみ可能です。
BarColor データバーの条件付き書式でバーの色を変更するために使用できる FormatColor オブジェクトを返します。
BarFillType データバーを色で塗りつぶす方法をXlDataBarFillType列挙型で取得および設定します。

定数 内容
xlDataBarFillGradient 1 データバーをグラデーションで塗りつぶす
xlDataBarFillSolid 0 データバーを単色で塗りつぶす
Creator DataBarオブジェクトを作成したアプリケーションを 32 ビットの整数値で返します。値の取得のみ可能です。長整数型 (Long) の値を使用します。
Direction データバーを表示する方向をExcel.Constants定数で示します。値の取得および設定が可能です。

定数 内容
xlContext -5002 シートの設定に従う
xlLTR -5003 左から右
xlRTL -5004 右から左
Formula データバーが適用される値を決定する数式を表す文字列型 (String) の値を設定します。
MaxPoint データバーの条件付き書式に対して最長の棒が評価される方法を指定する ConditionValue オブジェクトを返します。
MinPoint データバーの条件付き書式に対して最短の棒が評価される方法を指定する ConditionValue オブジェクトを返します。
NegativeBarFormat データバーの条件付き書式ルールに関連付けられた NegativeBarFormat オブジェクトを返します。値の取得のみ可能です。
Parent 指定されたオブジェクトの親オブジェクトを返します。値の取得のみ可能です。
PercentMax 最長データバーの長さをセルの幅のパーセンテージで指定する長整数型 (Long) の値を取得または設定します。0から100の範囲の整数で指定します。PercentMinの値以上を設定しなければエラーになります。
PercentMin 最短データバーの長さをセルの幅のパーセンテージで指定する長整数型 (Long) の値を取得または設定します。0から100の範囲の整数で指定しますが、PercentMaxの値以下を設定しなければエラーになります。
Priority 条件付き書式ルールの優先度の値を取得、または設定します。優先度は、ワークシート内に複数の条件付き書式ルールが存在する場合、その評価の順序を決定します。
PTCondition 条件付き書式がピボットテーブルに適用されるかどうかを表すブール型 (Boolean) の値を返します。値の取得のみ可能です。Trueが適用され、Falseまたは省略時は適用されません。
ScopeType 条件付き書式がピボットテーブルに適用される場合、その適用範囲を表す XlPivotConditionScope 列挙型の定数を取得または設定します。

定数 内容
xlDataFieldScope 2 指定されたフィールドのデータに基づく
xlFieldsScope 1 指定されたフィールドに基づく
xlSelectionScope 0 指定された選択基準に基づく
ShowValue データバーの条件付き書式が範囲に適用されるかどうかをセルの値が表示するかどうかをブール型 (Boolean) で取得または設定します。未指定またはTrueの場合は元の値を表示し、Falseの場合は表示しません。
StopIfTrue 現在のルールが True に評価された場合、そのルール以降より下位優先度のルールを設定するかどうかをBoolean型で指定します。Trueの場合は下位優先度のルールは設定されません。
Type 条件付き書式の種類を表すXlFormatConditionType列挙型の定数xlDatabar(データバー。値=4)を返します。値の取得のみ可能です。



サンプルコード

A列で値を設定した場合にデータバーを表示するサンプルコードです。

実行結果

上のコードを実行すると以下のようになります。例としてA列に1から順に入力しています。

条件付き書式は以下のようになります。

関連記事

サブコンテンツ

このページの先頭へ