Sub Macro40()
'
' Macro40 方向
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddIconSetCondition
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1)
.ReverseOrder = False
.ShowIconOnly = False
.IconSet = ActiveWorkbook.IconSets(xl3Arrows)
End With
With Selection.FormatConditions(1).IconCriteria(2)
.Type = xlConditionValuePercent
.Value = 33
.Operator = 7
End With
With Selection.FormatConditions(1).IconCriteria(3)
.Type = xlConditionValuePercent
.Value = 67
.Operator = 7
End With
End Sub
Sub Macro41()
'
' Macro41 図形
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddIconSetCondition
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1)
.ReverseOrder = False
.ShowIconOnly = False
.IconSet = ActiveWorkbook.IconSets(xl4TrafficLights)
End With
With Selection.FormatConditions(1).IconCriteria(2)
.Type = xlConditionValuePercent
.Value = 25
.Operator = 7
End With
With Selection.FormatConditions(1).IconCriteria(3)
.Type = xlConditionValuePercent
.Value = 50
.Operator = 7
End With
With Selection.FormatConditions(1).IconCriteria(4)
.Type = xlConditionValuePercent
.Value = 75
.Operator = 7
End With
End Sub
Sub Macro42()
'
' Macro42 インジケーター
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddIconSetCondition
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1)
.ReverseOrder = False
.ShowIconOnly = False
.IconSet = ActiveWorkbook.IconSets(xl3Symbols2)
End With
With Selection.FormatConditions(1).IconCriteria(2)
.Type = xlConditionValuePercent
.Value = 33
.Operator = 7
End With
With Selection.FormatConditions(1).IconCriteria(3)
.Type = xlConditionValuePercent
.Value = 67
.Operator = 7
End With
End Sub
Sub Macro44()
'
' Macro44 評価
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddIconSetCondition
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1)
.ReverseOrder = False
.ShowIconOnly = False
.IconSet = ActiveWorkbook.IconSets(xl5Boxes)
End With
With Selection.FormatConditions(1).IconCriteria(2)
.Type = xlConditionValuePercent
.Value = 20
.Operator = 7
End With
With Selection.FormatConditions(1).IconCriteria(3)
.Type = xlConditionValuePercent
.Value = 40
.Operator = 7
End With
With Selection.FormatConditions(1).IconCriteria(4)
.Type = xlConditionValuePercent
.Value = 60
.Operator = 7
End With
With Selection.FormatConditions(1).IconCriteria(5)
.Type = xlConditionValuePercent
.Value = 80
.Operator = 7
End With
End Sub
Sub Macro30()
'
' Macro30 カラースケール(3色)
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddColorScale ColorScaleType:=3
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
xlConditionValueLowestValue
With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
.Color = 7039480
.TintAndShade = 0
End With
Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
xlConditionValuePercentile
Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50
With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
.Color = 8711167
.TintAndShade = 0
End With
Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _
xlConditionValueHighestValue
With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor
.Color = 8109667
.TintAndShade = 0
End With
End Sub
Sub Macro31()
'
' Macro31 カラースケール(2色)
'
'
Selection.FormatConditions.AddColorScale ColorScaleType:=2
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
xlConditionValueLowestValue
With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
.Color = 7039480
.TintAndShade = 0
End With
Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
xlConditionValueHighestValue
With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
.Color = 16776444
.TintAndShade = 0
End With
End Sub
Sub Macro20()
'
' Macro20 データバー(グラデーション)
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddDatabar
Selection.FormatConditions(Selection.FormatConditions.count).ShowValue = True
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1)
.MinPoint.Modify newtype:=xlConditionValueAutomaticMin
.MaxPoint.Modify newtype:=xlConditionValueAutomaticMax
End With
With Selection.FormatConditions(1).BarColor
.Color = 13012579
.TintAndShade = 0
End With
Selection.FormatConditions(1).BarFillType = xlDataBarFillGradient
Selection.FormatConditions(1).Direction = xlContext
Selection.FormatConditions(1).NegativeBarFormat.ColorType = xlDataBarColor
Selection.FormatConditions(1).BarBorder.Type = xlDataBarBorderSolid
Selection.FormatConditions(1).NegativeBarFormat.BorderColorType = _
xlDataBarColor
With Selection.FormatConditions(1).BarBorder.Color
.Color = 13012579
.TintAndShade = 0
End With
Selection.FormatConditions(1).AxisPosition = xlDataBarAxisAutomatic
With Selection.FormatConditions(1).AxisColor
.Color = 0
.TintAndShade = 0
End With
With Selection.FormatConditions(1).NegativeBarFormat.Color
.Color = 255
.TintAndShade = 0
End With
With Selection.FormatConditions(1).NegativeBarFormat.BorderColor
.Color = 255
.TintAndShade = 0
End With
End Sub
Sub Macro21()
'
' Macro21 データバー(単色)
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddDatabar
Selection.FormatConditions(Selection.FormatConditions.count).ShowValue = True
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1)
.MinPoint.Modify newtype:=xlConditionValueAutomaticMin
.MaxPoint.Modify newtype:=xlConditionValueAutomaticMax
End With
With Selection.FormatConditions(1).BarColor
.Color = 13012579
.TintAndShade = 0
End With
Selection.FormatConditions(1).BarFillType = xlDataBarFillSolid
Selection.FormatConditions(1).Direction = xlContext
Selection.FormatConditions(1).NegativeBarFormat.ColorType = xlDataBarColor
Selection.FormatConditions(1).BarBorder.Type = xlDataBarBorderNone
Selection.FormatConditions(1).AxisPosition = xlDataBarAxisAutomatic
With Selection.FormatConditions(1).AxisColor
.Color = 0
.TintAndShade = 0
End With
With Selection.FormatConditions(1).NegativeBarFormat.Color
.Color = 255
.TintAndShade = 0
End With
End Sub
Sub Macro10()
'
' Macro10 上位10項目
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddTop10
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1)
.TopBottom = xlTop10Top
.Rank = 10
.Percent = False
End With
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
– マクロの説明
・簡単に説明
※VBAソースの詳細な説明は、その1の「指定の値より大きい」を参照
8行目:[AddTop10メソッド]で追加
9行目:優先順位の設定
10-14行目:条件の設定
.TopBottom = xlTop10Top は「上位」
.Rank = 10 は「10」
.Percent = False は「%ではない」
15-18行目:フォント設定
19-23行目:背景設定
24行目:条件を満たす場合は停止するかどうか
・上位10%
上位10%に入る値のセルに対して、指定した書式を施します
「上位10%」を選択して、値が「10」の結果が以下になります
上位10%サンプル
– 書式ルールを確認
上位10%の編集
– マクロで記録してみる
「上位10項目」が「上位10%」と単位が変わっています
Sub Macro11()
'
' Macro11 上位10%
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddTop10
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1)
.TopBottom = xlTop10Top
.Rank = 10
.Percent = True
End With
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Sub Macro13()
'
' Macro13 下位10%
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddTop10
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1)
.TopBottom = xlTop10Bottom
.Rank = 10
.Percent = True
End With
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
– マクロの説明
・異なるところだけを説明
※VBAソースの詳細な説明は、その1の「指定の値より大きい」を参照
10-14行目:条件の設定
.TopBottom = xlTop10Bottom は「下位」
.Rank = 10 は「10」
.Percent = True は「%」
・平均より上
平均より上に入る値のセルに対して、指定した書式を施します
「平均より上」を選択して、値が「より上」の結果が以下になります
平均より上サンプル
– 書式ルールを確認
平均より上の編集
– マクロで記録してみる
「平均より」「上」という新しい項目が増えている
Sub Macro14()
'
' Macro14 平均より上
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddAboveAverage
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
Selection.FormatConditions(1).AboveBelow = xlAboveAverage
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Sub Macro15()
'
' Macro15 平均より下
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddAboveAverage
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
Selection.FormatConditions(1).AboveBelow = xlBelowAverage
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Sub Macro1()
'
' Macro1 指定の値より大きい
'
'
Range("C4:K8").Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
formula1:="=84.5"
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Sub Macro2()
'
' Macro2 指定の値より小さい
'
'
Range("C4:K8").Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
formula1:="=84.5"
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
– マクロの説明
・異なるところだけを説明
※VBAソースの詳細な説明は、「指定の値より大きい」の説明を見てくださいw
8-9行目:条件付き書式の追加
Type:=xlCellValue は「セルの値」
Operator:=xlLess は「次の値より小さい」
formula1:=”=84.5″ は「値」が等しい(=)
・指定の範囲内
これは、2つの値の範囲に含まれる場合に、指定した書式を施します
こちらも「指定の値より小さい」を選択して、値を「84.5」とした結果が以下になります
指定の範囲内サンプル
– 書式ルールを確認
指定の範囲内の編集
– マクロで記録してみる
選択範囲と書式は変えていませんので、「指定の範囲内」では、以下が異なります
Sub Macro3()
'
' Macro3 指定の範囲内
'
'
Range("C4:K8").Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
formula1:="=79", formula2:="=90"
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Sub Macro4()
'
' Macro4 指定の値に等しい
'
'
Range("C4:K8").Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
formula1:="=82"
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
– マクロの説明
・異なるところだけを説明
※VBAソースの詳細な説明は、「指定の値より大きい」の説明を見てくださいw
8-9行目にあたる部分です
Type:=xlCellValue は「セルの値」
Operator:=xlEqual は「次の値に等しい」
formula1:=”=82″ は「値」が等しい(=)
・文字列
これは、指定の文字列を含むセルに対して、指定した書式を施します
テスト結果は数字だけでしたので、選択を範囲を広げて、文字列に「試験」を設定した結果が以下になります
文字列サンプル
– 書式ルールを確認
文字列の編集
– マクロで記録してみる
選択範囲を変えてますけど、そこはそっとしておいてーw
Sub Macro5()
'
' Macro5 文字列
'
'
Range("B2:M10").Select
Selection.FormatConditions.Add Type:=xlTextString, String:="試験", _
TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Sub Macro6()
'
' Macro6 日付
'
'
Range("B2:M10").Select
Selection.FormatConditions.Add Type:=xlTimePeriod, DateOperator:=xlLastMonth
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Sub Macro7()
'
' Macro7 重複する値
'
'
Range("C4:K8").Select
Selection.FormatConditions.AddUniqueValues
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
Selection.FormatConditions(1).DupeUnique = xlDuplicate
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub