셀에 특정값 들어가면 셀색깔 바꾸는건데
왜 안될까요? 블로그 참고해서 했는데
한번만 봐주십쇼 형님들
Private Sub worksheet_change(ByVal Target As Range)
Dim i As Integer
Dim n As Integer
Dim m As Integer
If Not Intersect(Range("c2:c9"), Target) Is Nothing Then
'----------------------여기부터 범위가 1보다 클 경우
If Target.Count > 1 Then '타겟의 범위가 1보다 크다면(바뀌는 값의 범위가 한개가 아니라면)
n = Target.Row '값을 수정하는 범위의 첫 행 (가장 윗행)
m = n + Target.Count - 1 '값을 수정하는 범위의 마지막 행(첫 행 + 범위 크기 - 1)
For i = n To m '범위의 첫 행부터 마지막 행까지 반복
Select Case Cells(i, 3).Value '셀의 값을 조건으로 한 조건문
Case 0 '값이 0이라면(없다면)
Cells(i, 3).Interior.color = xlNone '셀을 투명하게(초기화)
Case Is < 300000 '값이 300000보다 작다면
Cells(i, 3).Interior.color = RGB(255, 0, 0) 'red 색상으로 변경
Case 300000 To 10000000 '값이 300000과 10000000 사이라면
Cells(i, 3).Interior.color = RGB(0, 255, 0) 'green 색상으로 변경
Case Is > 10000000 '값이 10000000보다 크다면
Cells(i, 3).Interior.color = RGB(0, 0, 255) 'blue 색상으로 변경
End Select
Next i '다음 셀에서 반복
Exit Sub '프로시져 종료
else
End If
'-------------------------여기까지 범위가 1보다 클 경우
'-------------------------여기부터 범위가 1일경우(한개의 셀만 수정할 경우)
Select Case Target
Case 0
Target.Interior.color = xlNone
Case Is < 300000
Target.Interior.color = RGB(255, 0, 0)
Case 300000 To 10000000
Target.Interior.color = RGB(0, 255, 0)
Case Is > 10000000
Target.Interior.color = RGB(0, 0, 255)
End Select
End If
End Sub
댓글 0