相关疑难解决方法(0)

来自一维数组的唯一值,无需迭代

冒着成为话题的风险,我决定分享一些问答式的代码。如果一般意见认为这将是题外话,我很乐意在需要时删除。


背景

我们可以从任何一维数组或Range变成一维数组的对象中检索所有唯一值,而不必遍历其元素吗?就我而言,普遍的共识是必须迭代不同的元素,最好的方法是使用字典或集合来存储唯一值。是我发现非常有效的方法为了这个目的。


那么如何从一维数组中检索唯一元素,例如:

Dim arr As Variant: arr = Array("A", "A", "C", "D", "A", "E", "G")
Run Code Online (Sandbox Code Playgroud)

结果数组在哪里:

{"A", "C", "D", "E", "G"}
Run Code Online (Sandbox Code Playgroud)

arrays excel vba unique filter

4
推荐指数
2
解决办法
348
查看次数

合并Excel范围中的数据,删除空白和重复项

我在Excel中有一系列单元格,这些单元格的列宽度超过一列且长度超过一行.有些细胞是空白的.我想将非空白单元格合并(使用VBA)到列表中,删除重复项,并按字母顺序排序.

例如,给定此输入(其中短划线为此问题指定空单元格):

-  -  A  D  -
C  -  -  A  -
-  -  B  -  D
-  -  -  -  -
A  -  -  E  -
Run Code Online (Sandbox Code Playgroud)

生成以下排序输出:

A
B
C
D
E
Run Code Online (Sandbox Code Playgroud)

如示例输入所示,范围中的某些行和列可能包含所有空单元格.

sorting excel vba duplicates excel-vba

0
推荐指数
1
解决办法
3214
查看次数

标签 统计

excel ×2

vba ×2

arrays ×1

duplicates ×1

excel-vba ×1

filter ×1

sorting ×1

unique ×1