计算空白Excel之间的唯一条目

时间:2016-09-13 22:06:36

标签: excel excel-vba vba

我想计算空白之间范围内的唯一条目。请查看附图以供参考。第一组数据包含3个唯一条目,因此突出显示的框将为3.第二组数据有3个唯一条目,然后突出显示的框也会显示3.

example

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

假设您想在VBA中执行此操作并且包含数据集的范围很大,那么问题并不像回复此帖子的其他问题那么简单。

以下代码要求您设置对Microsoft Scripting Runtime库的引用。每次在搜索范围中找到空行时,它会插入唯一值的数量(如果只有一个空行来分隔范围内的不同数据集,则效果最佳):

Option Explicit

Sub uniquesEntriesInDataSets()

    Dim dict As Scripting.Dictionary
    Dim i As Long, startAt As Long, uCount As Long
    Dim cll As Range, searchRange As Range
    Dim val As Variant

    ' change sheetname and range to relevant parameters
    Set searchRange = ThisWorkbook.Sheets("Sheet1").Range("A1:A21")

    Set dict = New Dictionary

    For Each cll In searchRange

        val = cll.Value

        If val = vbNullString Then
            If dict.Count > 0 Then 
                cll.Value = dict.Count
                dict.RemoveAll
            End if
        Else
            If Not dict.Exists(val) Then dict.Add Key:=val, Item:=i
        End If

    Next cll

End Sub