首页 > 解决方案 > vba从listobject获取没有重复的列表

问题描述

是否有一个 vba 命令可以直接从列表对象的标题自动过滤器中获取不重复的列表。

我的输入是这个列表,我搜索了一种方法来获取这个列表,而不会从 vba 中的对象 ListObject 中重复

提前致谢。

标签: vba

解决方案


你可以使用这个辅助函数:

Function GetUniqueValues(rng As Range) As Variant
    Dim cell As Range

    With CreateObject("Scripting.Dictionary")
        For Each cell In rng
            .Item(cell.Value) = 1
        Next
        GetUniqueValues = .keys
    End With
End Function

由您的“主”模块调用,如下所示:

Option Explicit

Sub main()
    Dim uniqueValues As Variant

    uniqueValues = GetUniqueValues(ActiveSheet.ListObjects(1).ListColumns(1).DataBodyRange)

    '... rest of your code
End Sub

只需根据您的需要进行更改和ActiveSheet参考ListObjects(1)ListColumns(1)


推荐阅读