2016-07-01 15 views
0

セルの値に特定の値がある場合、その行の範囲が強調表示されるようにコードを記述しています(列G-Oではなく行全体ではありません)。以下のコードは "c"の値を正しく認識していますが、ランダムな行を色分けしています。たとえば、行2(O2)の値が40未満の場合は、行4に色付けされます。助けてください!Excel VBA:セルの値に基づく色の範囲

Sub color() 

    Dim lastrow As Long 
    Dim c As Variant 

    lastrow = Range("o" & Rows.Count).End(xlUp).Row 
    For Each c In Range("O1:O" & lastrow) 
     If c.Value < 40 Then 
      ' MsgBox (c) 
      Range(Cells(c, 7), Cells(c, 15)).Interior.ColorIndex = 7 
     End If 
    Next c 

End Sub 
+3

条件付き書式設定では、VBAを必要とせずにこれを行います。 VBAでこれをやりたい理由はありますか? –

答えて

3

下記の変更を参照してください。それはCells()の使い方と関係があります。あなたが持っている方法では、行ではなく "c"の値を使用します。

Sub color() 

Dim lastrow As Long 
Dim c As Variant 
lastrow = Range("o" & Rows.Count).End(xlUp).Row 
    For Each c In Range("O1:O" & lastrow) 
     If c.Value < 40 Then 
      ' MsgBox (c) 
      Range(Cells(c.Row, 7), Cells(c.Row, 15)).Interior.ColorIndex = 7 
     End If 
    Next c 

End Sub 
+0

本当にありがとう、それは今非常に意味がある!!!! – spaindc

関連する問題