Vba를 사용하여 범위 내 고유 값을 계산하는 방법


다음 기본 구문을 사용하여 VBA를 사용하여 범위의 고유 값 수를 계산할 수 있습니다.

 SubCountUnique ()
    Dim Rng As Range, List As Object, UniqueCount As Long
    Set List = CreateObject(" Scripting.Dictionary ")
    
    'count unique values in range A2:A11
    For Each Rng In Range(" A2:A11 ")
      If Not List.Exists(Rng.Value) Then List.Add Rng.Value, Nothing
    Next
    
'store unique count
UniqueCount = List.Count
    
    ' display unique count
    MsgBox " Count of Unique Values: " & UniqueCount

End Sub

이 특정 예에서는 A2:A11 범위에 있는 고유 값의 개수를 계산한 다음 메시지 상자에 개수를 표시합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: VBA를 사용하여 범위 내 고유 값 계산

Excel에 다음과 같은 농구 팀 이름 목록이 있다고 가정합니다.

A2:A11 범위에서 고유한 팀 이름의 수를 계산한다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 SubCountUnique()
Dim Rng As Range, List As Object, UniqueCount As Long
    Set List = CreateObject(" Scripting.Dictionary ")
    
    'count unique values in range A2:A11
For Each Rng In Range(" A2:A11 ")
      If Not List.Exists(Rng.Value) Then List.Add Rng.Value, Nothing
    Next
    
    'store unique count
    UniqueCount = List.Count
    
    'display unique count
    MsgBox " Count of Unique Values: " & UniqueCount

End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

단일 VBA 번호

메시지 상자에는 5개의 고유한 팀 이름이 있음이 표시됩니다.

각 고유 팀 이름을 수동으로 식별하여 이것이 올바른지 확인할 수 있습니다.

  • Mavs
  • 네트
  • 전사

실제로 5개의 고유한 팀 이름이 있습니다.

참고 : 다른 범위에 있는 고유 값의 수를 계산하려면 For Each 루프의 A2:A11을 다른 범위로 바꾸면 됩니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA: 특정 텍스트가 포함된 셀 수를 계산하는 방법
VBA:범위 내 행 수를 계산하는 방법
VBA: COUNTIF 및 COUNTIFS 함수 작성 방법

의견을 추가하다

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