冒着成为话题的风险,我决定分享一些代码,问答式。如果普遍认为这是偏离主题的,我会很乐意在需要时删除。
Background
我们可以从任何一维数组中检索所有唯一值,或者Range
对象变成一维数组,而不必迭代其元素?就我而言,普遍的共识是,必须迭代不同的元素,其中最好的方法是使用字典或集合来存储唯一值。Here我发现这对于这个目的非常有效。
Question
那么如何从一维数组中检索唯一元素,例如:
Dim arr As Variant: arr = Array("A", "A", "C", "D", "A", "E", "G")
结果数组将是:
{"A", "C", "D", "E", "G"}
使用新的动态数组函数,可以将其简化为:
Sub test()
Dim arr As Variant: arr = Array("A", "A", "C", "D", "A", "E", "G")
With Application
Dim uniques as variant
uniques = .Transpose(.Unique(.Transpose(arr)))
End With
End Sub
新的Uniques Formula需要一个垂直数组,并且可以是2d。它的作用就像Range.RemoveDuplicate
无法选择列。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)