Excel中不重复的人的姓名的VBA代码
发布时间:2023-08-01 12:24:33
学习一下求出Excel中不重复的人的姓名的VBA代码。
当然,还是使用VBA中的字典来处理。假设有3张工作表,每张表格的A列都是姓名列,所有这些姓名中有些是重复的,要求编写一段代码,在另一个工作表上显示不重复的姓名。
使用VBA的话,代码如下:
Dim i&, Myr&, Arr
Dim d, k, t, Sht As Worksheet
Set d = CreateObject("Scripting.Dictionary")
For Each Sht In Sheets
If Sht.Name <> "Sheet4" Then
Myr = Sht.[a65536].End(xlUp).Row
Arr = Sht.Range("a2:a" & Myr)
For i = 1 To UBound(Arr)
d(Arr(i, 1)) = ""
Next
End If
Next
k = d.keys
Sheet4.[a3].Resize(d.Count, 1) = Application.Transpose(k)
Set d = Nothing
部分代码解释:
1、For Each Sht In Sheets :For Each…Next循环结构,这种形式是VBA特有的,用于对对象的循环非常适用。意思是在所有的工作表中依次循环。
2、If Sht.Name <> "Sheet4" Then :如果这个工作表的名字不等于”Sheet4”时执行下面的代码。
3、Myr = Sht.[a65536].End(xlUp).Row :求得这个工作表A列有数据的最后一行的行数,把它赋给变量Myr。这里用了长整型数据类型(Long),数据范围最大可到2,147,483,647,是为了避免数据很多的时候会超出整型数据类型(Integer)而出错,因为整型数据类型数据范围最大只到32,767。
4、Arr = Sht.Range("a2:a" & Myr) :把A列数据赋给数组Arr。
5、For i = 1 To UBound(Arr) :For…Next循环结构,从1开始到数组的最大上限值之间循环。Ubound是VBA函数,返回数组的指定维数的最大值。
6、d(Arr(i, 1)) = “” :这句代码的意思就是把关键字Arr(i,1)加入字典,关键字对应的项为空,相当于字典中的这个关键字没有解释。和d.Add Arr(i,1), ""的效果相同,只是代码更简洁一些。
7、k=d.keys :把字典d中存在的所有的关键字赋给变量k。得到的是一个一维数组,下限为0,上限为d.Count-1。Keys是字典的方法,前面已经讲过了。
8、Sheet4.[a3] .Resize(d.Count, 1) = Application.Transpose(k) :把字典d中所有的关键字赋给表4以a3单元格开始的单元格区域中。
猜你喜欢
- 从Win8开始,其系统内就新增了应用商店,用户可以直接去应用商店中搜索下载应用,初次使用,会遇到不知道Win8.1应用商店在哪?下面小编为大
- 11对战平台是一个提供单机游戏进行联机操作的竞技平台,只要是现在市面上流行的热门单机游戏都可以在11对战平台上进行联机操作。不过有些用户在使
- 相信许多用户在使用电脑时都会安装一个系统安全工具来营造出安全的使用环境,其中最受用户欢迎的安全工具莫过于腾讯电脑管家,这款软件是集电脑加速、
- Win10系统重置网络设置技巧分享,每个人都可以想出一个网络设置对于普通用户而言过于复杂的时刻,而试图修复它只会加剧问题。有时在个人电脑或笔
- 有很多的小伙伴之前在网上留言询问我能不能教教他们怎么解决win10固态假死,他们自己也在网上学习了很多的处理方法,但是一点效果也没有,所以他
- 微信悦动音符怎么玩?悦动音符是微信小程序的游戏之一,它是一款音乐节奏类游戏,根据节奏控制小球的轨迹,趣味十足!今天小编给大家分享悦动音符的玩
- 京东如今也可以用apple pay进行付款了,这对于很多喜欢在京东购买商品苹果手机用户来说,开通京东闪付的ApplePay支付,能够使他们在
- 怎么将WPS表格放入Cad呢,下面小编为大家介绍如何操作:1、使用AutoCAD的数据连接功能。打开【工具】-【数据连接】-创建新的WPS表
- Win10的gho文件要怎么安装?许多用户在使用电脑的时候偶尔会看到一些.gho文件,这些文件其实就是我们的系统文件,那么我们要怎么安装这个
- WSP文字里面怎么修改内容字体大小第1步、打开WPS2019软件,新建空白文档,然后在文档中输入下面三段内容出来。效果如下:第2步、第一种方
- 技嘉电脑主板和显卡质量大家有目共睹,但是电脑难免会发生故障,一些小毛病等等,所以如果当技嘉电脑系统发生故障是如何使用装机猫U盘重装Win7系
- word怎么设置不显示屏幕提示说明信息?word中不想显示文章中的提示说明,该怎么去除屏幕提示说明信息呢?下面我们就来看看详细的设置,需要的
- 辛辛苦苦的做了一篇Word文档,怎么样才能知道到底有多少字等相关信息呢,今天就给大家带来Word字数统计功能。在这篇教程里将为大家讲解Wor
- 在我们使用Macbook的过程中,经常看到偏好设置里有一些用不到的插件,这些插件我们不怎么使用却占了Macbook的有限空间,我们需要删除这
- 我们在使用win10系统的时候,经常会使用截取屏幕为图片这一功能,但我们经常使用的是QQ软件带的截图功能,今天这里分享给朋友们的是系统自带的
- Win11格式化c盘怎么操作?有用户在安装了Win11系统使用了一段时间之后,发现自己的电脑c盘里面的空间满了,磁盘显示红色。于是想要去将系
- 欢迎观看 Microsoft OneNote 教程,小编带大家学习 OneNote 的使用技巧,了解如何在 Microsoft OneNot
- 一些Win7用户在打开自己的电脑后,发现桌面上的图标全部都变成了Word图标,这个问题该如何解决呢?对于这个问题,现在小编就和大家一起分享下
- Word怎么打钩和叉?平常在填写表格的时候会遇到一些表格上带有特殊符号,最常见的是在Word文档中打钩打叉这种符号,那么这些符号是如何输出的
- 方式1:1、打开Word2007文档窗口,在Word表格中右键单击准备拆分的单元格,并在打开的快捷菜单中选择“拆分单元格”命令。