家具设计师培训班实战课程

跟阿忠学家具设计,月薪8000只是起步

当前位置:
把所有数据的重复值去掉不使用函数只用VBA的实现方法

有关VBA的窗口介绍,已经很多,本节来点实际的,下面有个例子,说是要去重复值的,函数控的朋友门就不要妄想了,只用VBA实现,想张见识的朋友们可以瞧瞧哦。

如下图:A列品名中存在着大量的重复数据,现在我们想把所有数据去掉重复值。

重复数据

(函数控们请不要想函数方法,今天说的是VBA哦)

先上代码:

Sub 去重复()Dim arr, d, i Set d = CreateObject("scripting.dictionary") arr = Range("a1:a" & Cells(Rows.Count, 1).End(xlUp).Row)For i = 1 To UBound(arr) d(arr(i, 1)) = ""Next[c1].Resize(d.Count, 1) = Application.Transpose(d.keys) Set d = NothingEnd Sub

下面会逐句进行解释(黑色为代码,蓝色的为解释)

所有的VBA代码都是以sub开头,end sub结尾。

在VBA中,单引号开头的都为注释,代码是不会执行的哦。

Dim arr, d, i \'Dim定义三个变量,arr为数组,d为字典对象,i为数值

Set d = CreateObject("scripting.dictionary") \'创建字典对象d,用于存放不重复数据

arr = Range("a1:a" & Cells(Rows.Count, 1).End(xlUp).Row) \'将A列有数据区域的值赋值给arr数组

For i = 1 To UBound(arr) d(arr(i, 1)) = ""Next \'For.....Next 这是一组循环数组,利用字典key不能重复特性保存不重复内容

[c1].Resize(d.Count, 1) = Application.Transpose(d.keys) \'因为字典key保存的是横向数组,需要转置填充到C列单元格

Set d = Nothing \'最后清空字典对象

单击键盘上的alt+F8执行代码,Look!最后执行出来的结果是这样的,是不是觉得so easy!

去重后

小伙伴们如果更好的建议,可以告诉我们哦!

作者:Excel自学网 发布时间:2020.01.05

家具设计课堂是国内做家具设计在线教育的线上培训机构,初入家具设计行业的准家具设计师建议在此技术提升。跟阿忠学家具设计,月薪8000只是起步!您想找一份高薪设计类的研发工作,或许家具设计课堂能帮您实现您的初衷愿景。报名学习QQ:415284424。

系统化培训家具结构设计师从家具设计课堂开始

Excel自学网提供大量优秀的Excel学习资源Excel自学网致力于建设成一个公益型Excel在线自学网站,助您轻松学习Excel