vba - vba从listobject获取没有重复的列表
问题描述
是否有一个 vba 命令可以直接从列表对象的标题自动过滤器中获取不重复的列表。
我的输入是这个列表,我搜索了一种方法来获取这个列表,而不会从 vba 中的对象 ListObject 中重复
提前致谢。
解决方案
你可以使用这个辅助函数:
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)
推荐阅读
- vba - 在保存时强制使用文档探测主题
- c++ - 在 Endpoint 中使用 oatpp::Enum 作为路径参数类型的正确方法是什么?
- haskell - Haskell 的 Either Monad 中如何处理类型错误?
- redis - Redis,设置键上的 pubsub 键空间通知,过期或删除时的 val
- javascript - 如何停止 ytdl 流?
- c++ - 开关量问题:开关量不是整数,无法将 basic_string' 转换为 'bool'
- sql - Group by 并获取不在 group by 子句中的列
- javascript - person.map 不是函数
- python - 默认情况下,在新的“windows终端”上运行一个python文件(Windows)
- json - 访问 json-ld 框架中的嵌套属性