2017-01-05 3 views
0

列に1組の値があり、1 NA 0 1 0 NAと0です。列の上でスクリプトを実行して、薄緑色の値の上位50%(上限値を除く)。Excel VBAの条件付き書式設定 - 0の値の書式を削除する

作品
Range("K4:K10").Select 
Selection.FormatConditions.AddTop10 
With Selection.FormatConditions(1) 
    .TopBottom = xlTop10Top 
    .Rank = 50 
    .Percent = True 
End With 
With Selection.FormatConditions(1).Interior 
    .Color = 13434777 
End With 
Selection.FormatConditions.AddTop10 

Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
With Selection.FormatConditions(1) 
    .TopBottom = xlTop10Top 
    .Rank = 1 
End With 
With Selection.FormatConditions(1).Interior 
    .Color = 3394611 
End With 

、しかし、私は今、何をしたい(これははるかに高い数字を持っているほとんどがすべての列に追加されます)私が試した0の値を持つ任意のセルからの強調表示削除されますコード:

Dim wsrng As Range 
    For Each wsrng In Range("K4:K10") 
     If wsrng.Value = 0 Then 
      Selection.FormatConditions.Delete 
     End If 
    Next wsrng 

ただし、値に関係なく列の各セルからハイライトが削除されています。何か案は?

答えて

1

選択をwsrngに変更します。

Dim wsrng As Range 
    For Each wsrng In Range("K4:K10") 
     If wsrng.Value = 0 Then 
      wsrng.FormatConditions.Delete 
     End If 
    Next wsrng 
+0

私の最初のコードはこれでラップする必要がありますか?これはコードに従うべきですか? – sbagnato

+0

それはうまくいった! – sbagnato

+0

偉大な、あなたは答えを受け入れることはできますか? – Vinnie

関連する問題