首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算VBA中所选(大)范围内不同值的数量?

计算VBA中所选(大)范围内不同值的数量,可以使用以下代码实现:

代码语言:vb
复制
Function CountDistinctValues(rng As Range) As Long
    Dim cell As Range
    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")
    For Each cell In rng
        If Not dict.exists(cell.Value) Then
            dict.Add cell.Value, 1
        End If
    Next cell
    CountDistinctValues = dict.Count
End Function

这个函数接受一个范围作为参数,并返回该范围内不同值的数量。它使用一个字典对象来存储已经出现过的值,并在遍历范围时检查每个单元格的值是否已经存在于字典中。如果不存在,则将其添加到字典中。最后,返回字典中键值对的数量即为不同值的数量。

在使用这个函数时,只需要将所选范围作为参数传递给它即可:

代码语言:vb
复制
Sub TestCountDistinctValues()
    Dim rng As Range
    Set rng = Range("A1:A10")
    Dim count As Long
    count = CountDistinctValues(rng)
    MsgBox "不同值的数量为:" & count
End Sub

这个示例代码将选中A1:A10范围内的单元格,并计算其中不同值的数量。最后,弹出一个消息框显示结果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券