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 中执行其他常见任务:

VBA:如何计算具有特定文本的单元格
VBA:如何计算范围内的行数
VBA:如何计算范围内的唯一值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注