Vba: 중복 값에 조건부 서식 적용
VBA에서 다음 기본 구문을 사용하여 특정 범위의 값을 중복하도록 조건부 서식을 적용할 수 있습니다.
Sub ConditionalFormatDuplicates()
Dim rg As Range
Dim uv As UniqueValues
'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")
'clear any existing conditional formatting
rg.FormatConditions.Delete
'identify duplicate values in range A2:A11
Set uv = rg.FormatConditions.AddUniqueValues
uv.DupeUnique = xlDuplicate
'apply conditional formatting to duplicate values
uv.Interior.Color = vbBlue
uv.Font.Color = vbWhite
uv.Font.Bold = True
End Sub
이 특정 예는 Excel에서 현재 시트의 A2:A11 범위에 있는 중복 값에 조건부 서식을 적용합니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: VBA를 사용하여 중복 값에 조건부 서식 적용
Excel에 다음과 같은 값 열이 있다고 가정합니다.
A 열의 중복 값에 다음 조건부 서식을 적용한다고 가정합니다.
- 파란색 배경
- 검정색 텍스트
- 굵은 텍스트
이를 위해 다음 매크로를 생성할 수 있습니다:
Sub ConditionalFormatDuplicates()
Dim rg As Range
Dim uv As UniqueValues
'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")
'clear any existing conditional formatting
rg.FormatConditions.Delete
'identify duplicate values in range A2:A11
Set uv = rg.FormatConditions.AddUniqueValues
uv.DupeUnique = xlDuplicate
'apply conditional formatting to duplicate values
uv.Interior.Color = vbBlue
uv.Font.Color = vbWhite
uv.Font.Bold = True
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
조건부 서식은 중복된 값을 사용하여 A열의 각 셀에 적용됩니다.
다른 셀 범위에 조건부 서식을 적용하려면 매크로의 A2:A11을 다른 범위로 바꾸면 됩니다.
또한 현재 시트의 셀에서 모든 조건부 서식을 제거하려면 다음 매크로를 생성하면 됩니다.
Sub RemoveConditionalFormatting()
ActiveSheet.Cells.FormatConditions.Delete
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
모든 조건부 서식이 셀에서 제거되었습니다.
추가 리소스
다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
VBA: 범위 내 고유 값을 계산하는 방법
VBA: 특정 텍스트가 포함된 셀 수를 계산하는 방법
VBA: COUNTIF 및 COUNTIFS 함수 작성 방법