Excel VBA データバーを表示する条件付き書式設定する

スポンサーリンク
スポンサーリンク

AddDatabar【アドデータバー】メソッド

指定したセル範囲を元に、そのデータの大きさによって
長さの異なるデータバーを表示する条件書式を設定するには
Rangeオブジェクトに含まれる条件付き書式の集まりを表す
FormatConditions【フォーマットコンディションズ】コレクションの
AddDatabar【アドデータバー】メソッドを使用します。
AddDatabar【アドデータバー】メソッドによって
条件付き書式のオブジェクトの一つである
データバーを表す、DataBar【データバー】オブジェクトが返ります。
このDataBar【データバー】オブジェクトに対して
設定するデータバーの設定や書式を設定します。

FormatConditions.AddDatabar
【フォーマットコンディションズアドデータバー】メソッドの書式

オブジェクト.FormatConditions.AddDatabar


設定値の説明

  • オブジェクト(必須)
    データバーを表示するセル範囲をRangeオブジェクトで指定します。

Delete【デリイト】メソッド

条件付き書式を削除するには
条件付き書式の集まりを表す
FormatConditions【フォーマットコンディションズ】コレクションの
Delete【デリイト】メソッドを使用します。
1つのセルに条件付き書式を追加すると
既に条件付き書式が設定されている場合は
既にある条件付き書式に加えて
新しい条件付き書式が追加されます。
複数の条件付き書式を設定するのでなければ
指定範囲に条件付き書式が設定されているされていないに
関わらずDelete【デリイト】メソッドを使用して
不要な条件付き書式を削除してから
新しい条件付き書式を追加します。

FormatConditions.Delete【フォーマットコンディションズデリイト】メソッドの書式

オブジェクト.FormatConditions.Delete


  • オブジェクト(必須)
    削除するデータバーのセルまたはセル範囲を
    Rangeオブジェクトで指定します。

データバーを追加するコード例

Sub データバー()
Range("A1:A10").FormatConditions.Delete
Range("A1:A10").FormatConditions.AddDatabar
End Sub

実行結果


DataBar【データバー】オブジェクトの主なプロパティ

プロパティ内容
BarColor【バーカラー】データバーの色を設定します。
BarFillType【バーフィルタイプ】データバーの塗りつぶし方法を設定します。
BarBorder【バーボーダー】データバーの枠線を設定します。
Direction【ディレクション】データバーを表示する方向を設定します。
AxisPosition【アクシスポジション】データバーの軸の位置を設定します。
NegativeBarFormat
【ネガティブバーフォーマット】
負の値のデータバーの書式を表す
NegativeBarFormat オブジェクトを取得します。
PercentMin【パーセントミニ】最短データ バーの長さを
セルの幅のパーセンテージで指定します。
PercentMax【パセントマックス】最長データ バーの長さを
セルの幅のパーセンテージで指定します。
ShowValue【ショウバリュー】セル内の値を非表示にします。

BarColor【バーカラー】プロパティ

データ バーの条件付き書式でバーの色を変更するための書式を表す
FormatColor【フォーマットカラー】 オブジェクトを取得するには
DataBar【データバー】オブジェクトの
BarColor【バーカラー】プロパティを使用します。

BarColor【バーカラー】プロパティの書式

オブジェクト.BarColor.色を設定するプロパティ = 設定値


設定値

データバーの色を赤に設定するコード例

Sub データバー色設定()
Range("A1:A10").FormatConditions.Delete
With Range("A1:A10").FormatConditions.AddDatabar
.BarColor.Color = RGB(255, 0, 0)
End With
End Sub

実行結果


BarFillType【バーフィルタイプ】プロパティ

データ バーを色で塗りつぶす方法を取得または設定するには
DataBar【データバー】オブジェクトの
BarFillType【バーフィルタイプ】プロパティを使用します。
このプロパティはExcel 2010から使用できます。

BarFillType【バーフィルタイプ】プロパティの書式

オブジェクト.BarFillType = 設定値


設定値の説明

  • オブジェクト(必須)
    塗りつぶす方法を取得または設定するデータバーを表す
    DataBar【データバー】オブジェクトを指定します。
  • 設定値(必須)
    塗りつぶしの方法をXlDataBarFillType 列挙型の定数で指定します。

    定数内容
    xlDataBarFillSolid0単色で塗りつぶされます。
    xlDataBarFillGradient1グラデーションで塗りつぶされます。(既定値)

データバーを赤色の単色で塗りつぶすコード例

Sub データバー塗りつぶし()
Range("A1:A10").FormatConditions.Delete
With Range("A1:A10").FormatConditions.AddDatabar
.BarColor.Color = RGB(255, 0, 0)
.BarFillType = xlDataBarFillSolid
End With
End Sub

実行結果


BarBorder【バーボーダー】プロパティ

データバーの枠線の設定を表す
DataBarBorder【データバーボーダー】 オブジェクトを取得するには
Databar【データバー】オブジェクトの
BarBorder【バーボーダー】プロパティを使用します。
このプロパティはExcel 2010から使用できます。

BarBorder【バーボーダー】プロパティの書式

オブジェクト.BarBorder


  • オブジェクト(必須)
    枠線を設定するデーターバーを表す
    DataBar【データーバー】オブジェクトを指定します。

DataBarBorder【データバーボーダー】 オブジェクトの主なプロパティ

  • DataBarBorder.Color【データボーダーカラー】プロパティ
    データ バーの枠線の色を指定する
    FormatColor【フォーマットカラー】オブジェクトを取得します。

    取得した枠線の色の設定を表す、FormatColor【フォーマットカラー】オブジェクトに対して
    Color【カラー】やColorIndex【カラーインデックス】やThemeColor【テーマカラー】プロパティで
    枠線の色を設定します。
  • DataBarBorder.Type 【データバーボダータイプ】プロパティ
    データ バーの枠線の種類を
    XlDataBarBorderType 列挙型の定数または値で取得または設定します。

    XlDataBarBorderType 列挙型の定数
    定数内容
    xlDataBarBorderNone0枠線を表示しません。(既定値)
    xlDataBarBorderSolid1実線の枠線を表示します。

データバーに青色の枠線を設定するコード例

Sub データバー枠線()
Range("A1:A10").FormatConditions.Delete
With Range("A1:A10").FormatConditions.AddDatabar
 .BarColor.Color = RGB(255, 0, 0)
 .BarFillType = xlDataBarFillSolid
  With .BarBorder
       .Color.Color = RGB(0, 0, 255)
       .Type = xlDataBarBorderSolid
  End With
End With
End Sub

実行結果


Direction【ディレクション】プロパティ

データーバーの方向を設定するには
Databar【データバー】オブジェクトの
Direction【ディレクション】プロパティを使用します。
このプロパティはExcel 2010から使用できます。

Direction【ディレクション】プロパティの書式

オブジェクト.Direction = 設定値


設定値の説明

  • オブジェクト(必須)
    方向を設定するデーターバーを表す
    Databar【データバー】オブジェクトを指定します。
  • 設定値(必須)
    方向を表す以下の定数を指定します。

    定数内容
    xlLTR左から右(既定値)
    xlRTL右から左

データーバーの方向を右から左に設定するコード例

Sub データバー方向()
Range("A1:A10").FormatConditions.Delete
With Range("A1:A10").FormatConditions.AddDatabar
 .BarColor.Color = RGB(255, 0, 0)
 .Direction = xlRTL
End With
End Sub

実行結果


AxisPosition【アクシスポジション】プロパティ

データーバーの軸の位置を取得または、設定するには
Databar【データバー】オブジェクトの
AxisPosition【アクシスポジション】プロパティを使用します。

AxisPosition【アクシスポジション】プロパティの書式

オブジェクト.AxisPosition = 設定値


設定値の説明

  • オブジェクト(必須)
    軸の位置を設定するデータバーを表す
    Datebar【データーバー】オブジェクトを指定します。
  • 設定値(必須)
    データーバーの軸の位置を
    XlDataBarAxisPosition列挙型の定数または値で指定します。

    XlDataBarAxisPosition列挙型の定数
    定数内容
    xlDataBarAxisAutomatic0負の最小値と正の最大値の範囲の比率に応じて
    自動的に軸を設定します。
    正の値は左から右の方向に表示されます。
    負の値は右から左の方向に表示されます。
    すべての値が正またはすべての値が負の場合
    軸は表示されません。
    xlDataBarAxisMidpoint1範囲内の値セットとは関係なくセルの中点に
    軸を表示します。
    正の値は左から右の方向に表示されます。
    負の値は右から左の方向に表示されます。
    xlDataBarAxisNone2軸は表示されず正の値と負の値の両方が
    左から右の方向に表示されます。(既定値)

NegativeBarFormat【ネガティブバーフォーマット】プロパティ

負の値のデータバーの書式を表す
NegativeBarFormat【ネガティブバーフォーマット】 オブジェクトを取得するには
Databar【データバー】オブジェクトの
NegativeBarFormat【ネガティブバーフォーマット】プロパティを使用します。
このプロパティはExcel 2010から使用できます。

NegativeBarFormat【ネガティブバーフォーマット】プロパティの書式

オブジェクト.NegativeBarFormat


設定値の説明

  • オブジェクト(必須)
    負の値があるデーターバーを表す
    Databar【データーバー】オブジェクトを指定します。

NegativeBarFormat オブジェクトの主なプロパティ

  • BorderColor【ボーダーカラー】 プロパティ
    負の値のデータ バーに対して枠線の色を設定する
    FormatColor【フォーマットカラー】オブジェクトを取得します。

    取得したFormatColor【フォーマットカラー】オブジェクトに対して
    Color【カラー】やColorIndex【カラーインデックス】やThemeColor【テーマカラー】プロパティで
    負の値のデーターバーの枠線の色を設定します。
  • BorderColorType【ボーダーカラータイプ】プロパティ
    正の値のデータ バーと同じ枠線の色を使用するかどうかを
    XlDataBarNegativeColorType 列挙型の定数で指定します。

    XlDataBarNegativeColorType 列挙型の定数
    定数内容
    xlDataBarColor0正の値とは別の色を使用します。
    xlDataBarSameAsPositive1正のデーター バーと同じ色を使用します。(既定値)
  • Color【カラー】プロパティ
    負の値のデータ バーに対して塗りつぶしの色を設定する
    FormatColor【フォーマットカラー】オブジェクトを取得します。

    取得したFormatColor【フォーマットカラー】オブジェクトに対して
    Color【カラー】やColorIndex【カラーインデックス】やThemeColor【テーマカラー】プロパティで
    負の値のデーターバーの塗りつぶしの色を設定します。
  • ColorType【カラータイプ】プロパティ
    正の値のデータ バーと同じ塗りつぶしの色を使用するかどうかを
    XlDataBarNegativeColorType 列挙型の定数で指定します。

    XlDataBarNegativeColorType 列挙型の定数
    定数内容
    xlDataBarColor0正の値とは別の色を使用します。
    xlDataBarSameAsPositive1正のデーター バーと同じ色を使用します。(既定値)

データバーの軸の位置を自動設定にして
負の値のデータバーの色を変更するコード例

Sub データバー軸変更()
Range("A1:A10").FormatConditions.Delete
With Range("A1:A10").FormatConditions.AddDatabar
  .BarColor.Color = RGB(0, 0, 255)
  .AxisPosition = xlDataBarAxisAutomatic
  .NegativeBarFormat.ColorType = xlDataBarColor
  .NegativeBarFormat.Color.Color = RGB(255, 0, 0)
End With
End Sub

実行結果


PercentMin【パーセントミニ】プロパティ

最短のデータ バーの長さをセルの幅のパーセンテージで
設定または取得するには
Databar【データーバー】オブジェクトの
PercentMin【パーセントミニ】プロパティを使用します。

PercentMin【パーセントミニ】プロパティの書式

オブジェクト.PercentMin = 設定値


設定値の説明

  • オブジェクト(必須)
    最短データバーの長さを設定するデータバーを表す
    Databar【データーバー】オブジェクトを指定します。
  • 設定値(必須)
    0 から 100 までの整数を指定します。既定値は 0 です。

PercentMax【パーセントマックス】プロパティ

最長のデータ バーの長さをセルの幅のパーセンテージで
設定または取得するには
Databar【データーバー】オブジェクトの
PercentMax【パーセントマックス】プロパティを使用します。

PercentMax【パーセントマックス】プロパティの書式

オブジェクト.PercentMax = 設定値


設定値の説明

  • オブジェクト(必須)
    最長データバーの長さを設定するデータバーを表す
    Databar【データーバー】オブジェクトを指定します。
  • 設定値(必須)
    0 から 100 までの整数を指定します。既定値は 0 です。

最短のデータバーをセル幅の10%
最長のデーターバーをセル幅の50%に設定するコード例

Sub データバー最小最大値()
Range("A1:A10").FormatConditions.Delete
With Range("A1:A10").FormatConditions.AddDatabar
  .BarColor.Color = RGB(255, 0, 0)
  .PercentMin = 10
  .PercentMax = 50
End With
End Sub

実行結果


ShowValue【ショウバリュー】プロパティ

セルの値を非表示にしてデータバーだけを表示するには
Databar【データバー】オブジェクトの
ShowValue【ショウバリュー】プロパティを使用します。

ShowValue【ショウバリュー】プロパティの書式

オブジェクト.ShowValue = 設定値


設定値の説明

  • オブジェクト(必須)
    値を非表示にするデータバーを表す
    Databar【データーバー】オブジェクトを指定します。
  • 設定値(必須)
    値の表示/非表示をブール型の値で指定します。

    設定値内容
    True値を表示します。(既定値)
    False値を非表示にします。

データーバーの値を非表示にするコード例

Sub データバー値非表示()
Range("A1:A10").FormatConditions.Delete
With Range("A1:A10").FormatConditions.AddDatabar
    .BarColor.Color = RGB(255, 0, 0)
    .ShowValue = False
End With
End Sub

実行結果


以上で
データバーを表示する条件付き書式設定する方法についての
解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク