Vba:如何从列中获取唯一值
您可以使用VBA中的AdvancedFilter函数快速从Excel中的列中获取唯一值的列表。
这是一种常见的方法:
Sub GetUniqueValues()
Range(" A1:A11 ").AdvancedFilter_
Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True
End Sub
此特定示例从A1:A11范围中提取唯一值列表,并从单元格E1中显示它们。
以下示例展示了如何在实践中使用此语法。
示例:使用VBA从列中获取唯一值
假设我们在 Excel 中有以下数据集,其中包含有关各种篮球运动员的信息:
假设我们要从Team列中提取唯一值的列表。
我们可以创建以下宏来执行此操作:
Sub GetUniqueValues()
Range(" A1:A11 ").AdvancedFilter_
Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True
End Sub
当我们运行这个宏时,我们会收到以下输出:
E 列现在显示原始数据集中Team列中的唯一值列表。
请注意, AdvancedFilter方法不区分大小写。
例如,如果我们在同一列中拥有团队名称“MAVS”和“Mavs”,则此特定宏将仅返回出现在“团队”列中的这两个值中的第一个值,因为它们共享完全相同的字符。
注意:您可以在此处找到 VBA 中AdvancedFilter方法的完整文档。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务: