马耳他梗犬,dsrybf,罗马2全面战争汉化补丁
有关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 = Nothing
End 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 文件中的任意多个工作表合并到一个表中的神技
Excel 根据身份证直接算出退休年月 用哪个函数 如何区别男女
Excel 中如何选择正确的地图类型及各种地图类型的应用场景
根据入职日期用Excel 计算工龄补贴 满1年补贴50满2年补贴100
Excel 微图表对数据进行可视化处理实现数据与图表的一体化衔接
被雪藏的datedif()函数的典型用法 适用最新版本的Excel
EXCEL 数据分析之合并单元格后按合计得分排序的整个心路历程
Excel-VBA批量将表达式转换为运算结果把代表的汉字给替换掉
网友评论