本文作者:office教程网

Excel中不重复的人的姓名的VBA代码

office教程网 2023-11-02 00:41:02
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要:

学习一下求出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

Excel vba if语句解释和实例教程

本文介绍vba if判断语句的使用方法,在最后以一个实例来剖析vba if语句的具体应用。 vba if语句为判断语句。根据条件的值,可使用 If…Then…Else 语句运行指定的语句或一个语句块。If…Then…Else 语句可根据需要嵌套多级。 但是,为了代

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单元格开始的单元格区域中。

如何使EXCEL里数据有效性列表显示得更大些的方法

在使用excel时,当使用数据有效性创建下拉列表时,不能够改变字体或字体大小。如果缩小工作表的尺寸,那么将难以阅读列表中的项目。 要使列表中的文本看起来更大,可以使用VBA代码,使得在选择数据有效性单元格时增大工作表缩放尺寸设置,从而使数据有效性列表中的文本看起来更大。 下面的代码在选择数据有效性列表单元格时将工作表

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:office教程网,原文地址:Excel中不重复的人的姓名的VBA代码发布于2023-11-02 00:41:02
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: