엑셀에서 조건부 서식을 통해서 코드를 관리하면 너무나 편하고 관리하는 측면에서도 좋지만, 코드가 추가로 들어오거나
변동이 되었을 때 조건부 서식이 처음에 세팅한것처럼이 아닌 이상하게 변동이 되는 것을 경험하였을 것이다.
오늘은 이 조건부 서식또한 VBA에 관리 할 수 있는 코드들을 정리해 보려고 한다.
1. 값이 0 이상인 셀에 초록색 배경색 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlExpression, Formula1:="=$A1>=0"
Range("A1:A10").FormatConditions(1).Interior.Color = RGB(0, 255, 0)
2. 값이 0 이하인 셀에 빨간색 배경색 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlExpression, Formula1:="=$A1<=0"
Range("A1:A10").FormatConditions(1).Interior.Color = RGB(255, 0, 0)
3. 값이 100 이상인 셀에 굵은 글꼴 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:="100"
Range("A1:A10").FormatConditions(1).Font.Bold = True
4. 값이 100 미만인 셀에 기울임꼴 글꼴 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="100"
Range("A1:A10").FormatConditions(1).Font.Italic = True
5. 값이 10에서 20 사이인 셀에 노란색 배경색 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, Formula1:="10", Formula2:="20"
Range("A1:A10").FormatConditions(1).Interior.Color = RGB(255, 255, 0)
6. 값이 "Yes"인 셀에 체크 모양 아이콘 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlTextString, String:="Yes"
Range("A1:A10").FormatConditions(1).IconSet = ActiveWorkbook.IconSets(4)
7. 값이 "No"인 셀에 X 모양 아이콘 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlTextString, String:="No"
Range("A1:A10").FormatConditions(1).IconSet = ActiveWorkbook.IconSets(3)
8. 값이 1000 이상인 셀에 화살표 모양 아이콘 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:="1000"
Range("A1:A10").FormatConditions(1).IconSet = ActiveWorkbook.IconSets(2)
9. 값이 0 이하인 셀에 빨간색 글꼴 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlExpression, Formula1:="=$A1<=0"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(255, 255, 0)
10. 값이 50% 이상인 셀에 파란색 배경색 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:="0.5"
Range("A1:A10").FormatConditions(1).Interior.Color = RGB(0, 0, 255)
11. 값이 30% 미만인 셀에 노란색 글꼴 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="0.3"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(255, 255, 0)
12. 값이 10과 20 사이인 셀에 대체 된 값으로 바꾸기
Range("A1:A10").FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, Formula1:="10", Formula2:="20"
Range("A1:A10").FormatConditions(1).Text = "Replacement Text"
13. 값이 오늘 날짜와 같은 셀에 녹색 글꼴 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlTimePeriod, Operator:=xlEqual, Formula1:="=$A1"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(0, 255, 0)
14. 값이 이전 달과 같은 셀에 분홍색 글꼴 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlTimePeriod, Operator:=xlLastMonth, Formula1:="=$A1"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(255, 192, 203)
15. 값이 짝수인 셀에 회색 배경색 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlExpression, Formula1:="=ISEVEN($A1)"
Range("A1:A10").FormatConditions(1).Interior.Color = RGB(192, 192, 192)
16. 값이 홀수인 셀에 초록색 글꼴 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlExpression, Formula1:="=ISODD($A1)"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(0, 255, 0)
17. 값이 오늘 날짜와 30일 이내인 셀에 파란색 글꼴 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlTimePeriod, Operator:=xlLast30Days, Formula1:="=$A1"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(0, 0, 255)
18. 값이 1000 이상이고 2000 미만인 셀에 노란색 배경색 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, Formula1:="1000", Formula2:="2000"
Range("A1:A10").FormatConditions(1).Interior.Color = RGB(255, 255, 0)
19. 값이 "Yes"인 셀에 파란색 글꼴 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlTextString, String:="Yes"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(0, 0, 255)
20. 값이 "Male"인 셀에 파란색 배경색 적용하기
Range("A1:A10").FormatConditions.Add Type:=xlTextString, String:="Male"
Range("A1:A10").FormatConditions(1).Interior.Color = RGB(0, 0, 255)
With Range("A1:A10").FormatConditions
.Delete
.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="0"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(255, 0, 0)
.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="0"
Range("A1:A10").FormatConditions(2).Font.Color = RGB(0, 0, 0)
End With
22. 셀 값이 0보다 작은 경우 빨간색 글꼴, 값이 0보다 큰 경우 초록색 글꼴
With Range("A1:A10").FormatConditions
.Delete
.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="0"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(255, 0, 0)
.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="0"
Range("A1:A10").FormatConditions(2).Font.Color = RGB(0, 255, 0)
End With
23. 셀 값이 오늘 날짜보다 큰 경우 파란색 글꼴, 값이 오늘 날짜인 경우 검은색 글꼴
With Range("A1:A10").FormatConditions
.Delete
.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="=TODAY()"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(0, 0, 255)
.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=TODAY()"
Range("A1:A10").FormatConditions(2).Font.Color = RGB(0, 0, 0)
End With
24. 셀 값이 "True"인 경우 녹색 글꼴, 값이 "False"인 경우 빨간색 글꼴
With Range("A1:A10").FormatConditions
.Delete
.Add Type:=xlTextString, String:="True"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(0, 255, 0)
.Add Type:=xlTextString, String:="False"
Range("A1:A10").FormatConditions(2).Font.Color = RGB(255, 0, 0)
End With
25. 셀 값이 1보다 큰 경우 빨간색 배경색, 값이 1인 경우 노란색 배경색
With Range("A1:A10").FormatConditions
.Delete
.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="1"
Range("A1:A10").FormatConditions(1).Interior.Color = RGB(255, 0, 0)
.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="1"
Range("A1:A10").FormatConditions(2).Interior.Color = RGB(255, 255, 0)
End With
26. 셀 값이 "Yes"인 경우 녹색 배경색, 값이 "No"인 경우 빨간색 배경색
With Range("A1:A10").FormatConditions
.Delete
.Add Type:=xlTextString, String:="Yes"
Range("A1:A10").FormatConditions(1).Interior.Color = RGB(0, 255, 0)
.Add Type:=xlTextString, String:="No"
Range("A1:A10").FormatConditions(2).Interior.Color = RGB(255, 0, 0)
End With
27. 셀 값이 3과 5 사이인 경우 노란색 글꼴, 그 외의 경우 검은색 글꼴
With Range("A1:A10").FormatConditions
.Delete
.Add Type:=xlCellValue, Operator:=xlBetween, Formula1:="3", Formula2:="5"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(255, 255, 0)
.Add Type:=xlCellValue, Operator:=xlNotBetween, Formula1:="3", Formula2:="5"
Range("A1:A10").FormatConditions(2).Font.Color = RGB(0, 0, 0)
End With
28. 셀 값이 오늘 날짜보다 이전인 경우 빨간색 글꼴, 값이 오늘 날짜인 경우 검은색 글꼴
With Range("A1:A10").FormatConditions
.Delete
.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="=TODAY()"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(255, 0, 0)
.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=TODAY()"
Range("A1:A10").FormatConditions(2).Font.Color = RGB(0, 0, 0)
End With
29. 셀 값이 "Hello"인 경우 노란색 배경색, 값이 "World"인 경우 초록색 배경색
With Range("A1:A10").FormatConditions
.Delete
.Add Type:=xlTextString, String:="Hello"
Range("A1:A10").FormatConditions(1).Interior.Color = RGB(255, 255, 0)
.Add Type:=xlTextString, String:="World"
Range("A1:A10").FormatConditions(2).Interior.Color = RGB(0, 255, 0)
End With
30. 셀 값이 10보다 큰 경우 빨간색 글꼴, 값이 5보다 작은 경우 파란색 글꼴, 그 외의 경우 검은색 글꼴
With Range("A1:A10").FormatConditions
.Delete
.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="10"
Range("A1:A10").FormatConditions(1).Font.Color = RGB(255, 0, 0)
.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="5"
Range("A1:A10").FormatConditions(2).Font.Color = RGB(0, 0, 255)
.Add Type:=xlCellValue, Operator:=xlBetween, Formula1:="5", Formula2:="10"
Range("A1:A10").FormatConditions(3).Font.Color = RGB(0, 0, 0)
End With
'Tip' 카테고리의 다른 글
[Tip] VBA [ 화상키보드 ] (0) | 2023.03.21 |
---|---|
[Tip] VBA 메세지창 자동 닫기 (0) | 2023.03.20 |
텍스트 파일로 바탕화면에 저장하기 (0) | 2023.02.16 |
시트 복사시 이벤트 삭제하기 (0) | 2023.02.04 |
엑사남들의 크리스마스 (0) | 2022.12.25 |
댓글