2017-02-28 26 views
2

1行おきにループしてループ内の各行を条件付きで書式設定しようとしています。まず、セルAD8のカラースケール基準を使用して範囲B8:Y8をフォーマットします。 AD10を用いてY10、次いでB12:次のループは、B10をフォーマットする必要がありY12等AD12を用いてここで98行にすべての方法は、ループ内される書式コードです:Excel VBAループ条件付き行ごとの書式設定

Range("B8:Y8").Select 
Selection.FormatConditions.AddColorScale ColorScaleType:=2 
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _ 
    xlConditionValueNumber 
Selection.FormatConditions(1).ColorScaleCriteria(1).Value = 0 
With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor 
    .ThemeColor = xlThemeColorDark1 
    .TintAndShade = 0 
End With 
Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _ 
    xlConditionValueNumber 
Selection.FormatConditions(1).ColorScaleCriteria(2).Value = "=$AD$8" 
With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor 
    .ThemeColor = xlThemeColorAccent2 
    .TintAndShade = 0 
End With 

答えて

2

それは好都合であり得ますB8:Y92の条件付き書式設定ルールを作成し、奇数行からCFRを削除します。

Dim r As Long 
With ActiveSheet 
    With .Range("B8:Y92") 
     .FormatConditions.Delete 
     .FormatConditions.AddColorScale ColorScaleType:=2 
     .FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
     .FormatConditions(1).ColorScaleCriteria(1).Type = _ 
      xlConditionValueNumber 
     .FormatConditions(1).ColorScaleCriteria(1).Value = 0 
     With .FormatConditions(1).ColorScaleCriteria(1).FormatColor 
      .ThemeColor = xlThemeColorDark1 
      .TintAndShade = 0 
     End With 
     .FormatConditions(1).ColorScaleCriteria(2).Type = _ 
      xlConditionValueNumber 
     .FormatConditions(1).ColorScaleCriteria(2).Value = "=$AD$8" 
     With .FormatConditions(1).ColorScaleCriteria(2).FormatColor 
      .ThemeColor = xlThemeColorAccent2 
      .TintAndShade = 0 
     End With 
    End With 
    For r = 9 To 91 Step 2 
     .Range("B" & r & ":Y" & r).FormatConditions.Delete 
    Next r 
End With 

How to avoid using Select in Excel VBA macrosを参照してください。

関連する問題