将列检查添加到唯一值函数

时间:2011-03-23 17:17:27

标签: excel vba

我使用这个函数来遍历一个范围并计算有多少个唯一值:

    Function CountUniqueValues(InputRange As Range) As Long
       Dim cl As Range, UniqueValues As New Collection
       Application.Volatile
       On Error Resume Next
       For Each cl In InputRange
            UniqueValues.Add cl.Value, CStr(cl.Value) 
       Next cl
       On Error GoTo 0
       CountUniqueValues = UniqueValues.Count
    End Function

   CountUniqueValues(Range("B1:B100"))

我需要在for循环中添加一个检查到另一列:

If A1 = "P" Then
   UniqueValues.Add cl.Value, CStr(cl.Value)
End If

显然col A必须像col B一样增加。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用:

If Range("A" & c1.Row) = "P" Then