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 함수 작성 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다