2016-07-01 3 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