Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VBA与数据库——简化程序编写-去重

VBA与数据库——简化程序编写-去重

作者头像
xyj
发布于 2021-08-13 08:47:43
发布于 2021-08-13 08:47:43
1.6K00
代码可运行
举报
文章被收录于专栏:VBA 学习VBA 学习
运行总次数:0
代码可运行

说到去除重复,在VBA里首先想到的应该是字典的应用,在

VBA调用外部对象01:字典Dictionary(去除重复数据)里也有过介绍。

除了使用VBA外,如果只是去除Excel数据的重复,Excel内置的功能:

数据-删除重复值,这个功能其实已经非常的好用了。

如果数据非常的规范,使用VBA调用ADO也是可以方便的去除重复:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub ADO去重()
    Dim AdoConn As Object
    Set AdoConn = VBA.CreateObject("ADODB.Connection")

    '打开数据库
    AdoConn.Open "Provider =Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=YES"";"
    Range("E2").CopyFromRecordset AdoConn.Execute("select distinct 项目,姓名 from [Sheet1$A1:C21]", , 1)

    AdoConn.Close
    Set AdoConn = Nothing
End Sub

代码和汇总、查找数据等一样,仅仅是修改了sql语句,相比使用字典,代码更加的简单,在需要更换去重字段条件的时候,也更加的方便。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 VBA 学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
VBA与数据库——简化程序编写-筛选
要对Excel数据进行筛选,最容易想到的方法自然是Excel本身的数据-筛选功能,但是如果是要在VBA中对数据进行筛选,那么一般的做法是对数据进行循环遍历,把符合条件的数据提取出来,假如数据是这样的:
xyj
2021/07/20
1.1K0
VBA与数据库——合并表格
在Excel里,如果需要把多个工作表或者工作簿的数据合并到一起,用VBA来做一个程序还是比较容易的,在多个工作簿合并到一个工作簿和多个工作表合并到一个工作表里有过介绍,代码不算很复杂。
xyj
2021/09/10
5K2
VBA与数据库——合并表格
VBA与数据库——Excel
一说到数据库,一般都会想到那些很专业的数据库,其实Excel本身也可以作为数据库来使用。
xyj
2021/04/26
2.8K0
VBA与数据库——Excel
VBA与数据库——简化程序编写-拼接表格
需要实现这个功能,在VBA里首先想到的应该还是字典,首先将表格2中的字段对应关系记录到字典,然后在表格1基础上增加一列,遍历表格1,利用字典将字段A对应的字段C读取出来即可。
xyj
2021/08/13
1.5K0
VBA与数据库——简化程序编写-排序
在Excel里对数据排序是非常简单的一个操作,只需要选中数据,点击菜单-数据-排序,然后选择相应的字段和排序方式即可。
xyj
2021/07/20
1.2K0
VBA与数据库——简化程序编写-查找
比较简单的一段代码,和汇总数据一样,这里只是按照一个条件进行查找,需要按照2个甚至多个条件来查找的时候,需要改动的代码有:
xyj
2021/07/20
9850
VBA与数据库——简化程序编写-一维表转二维表
在一维表转二维表里介绍了使用字典来转换表格的方法,可以看到使用字典的方法代码量还是有一点多的,有点复杂。
xyj
2021/07/20
8660
VBA与数据库——合并表格并删除重复
在前面合并表格里提到,用union all关键字进行合并数据,union all只是简单的将所有的数据进行复制到一起,不做其他的处理。
xyj
2021/09/10
4.7K3
VBA与数据库——合并表格并删除重复
VBA与数据库——获取第一条查找记录
在简化程序编写-查找里,已经介绍过了查找数据的方法,里面演示的数据非常简单,数据源是没有重复的。
xyj
2021/10/08
1.9K0
VBA与数据库——获取第一条查找记录
VBA与数据库——排列组合(可重复)
在VBA实现排列组合(可重复)中使用普通的VBA编程方法,实现了排列组合(可重复),代码虽然不是很多,但作为初学者需要理解还是有一定难度的。
xyj
2021/10/20
1.3K0
VBA与数据库——简化程序编写-汇总
我们在使用VBA处理Excel数据的时候,很多时候就是对数据进行分类汇总、查找等等。一般这种功能都是使用字典来实现,比如汇总数据功能。
xyj
2021/06/22
1.3K0
VBA与数据库——简化程序编写-汇总
VBA与数据库——写个类操作ADO_打开数据库
在前面介绍的一些操作数据库的代码中,可以看到,主要的操作逻辑基本上是打开数据库-操作-关闭数据库,很多时候改变的仅仅是操作,所以,把这些封装到一个类里面,以后调用自己写的类就会更方便。
xyj
2021/11/12
3K0
VBA与数据库——写个类操作ADO_打开数据库
VBA创建多个数据源的数据透视表
比如要分析工资的数据,工资表是按月分了不同Sheet管理的,现在需要把12个月的数据放到一起创建1个数据透视表。
xyj
2020/07/28
3.6K0
VBA创建多个数据源的数据透视表
VBA与数据库——Provider字符串编写
在前面的把Excel当作数据库处理的介绍中,使用ADO连接数据库是调用Open方法:
xyj
2021/04/26
1.2K0
VBA与数据库——Provider字符串编写
VBA示例程序:筛选并获取不重复日期
如下图1所示,在名为“工作簿1.xlsm”的工作簿的工作表Sheet1中,标题为“StartDate”的列有一系列日期,但其中有很多重复的日期,现在要对其进行筛选,获取不重复日期,示例结果如图1中的列C所示。
fanjy
2024/05/13
2610
VBA示例程序:筛选并获取不重复日期
ExcelVBA-ADO-SQL-003多条件组合查询(模糊查询)
假如现在有一个提交表单,里面是N个查询的条件(工号、姓名、性别、年龄、部门、工资、奖金)用户可以只填写其中的几个条件来进行查询。(也可以不填写条件)
哆哆Excel
2022/10/25
2.9K0
ExcelVBA-ADO-SQL-003多条件组合查询(模糊查询)
VBA-ADO-SQL-002单条件查询语句
输入“工号 姓名 性别 年龄 部门 工资 奖金”
哆哆Excel
2022/10/25
7240
VBA-ADO-SQL-002单条件查询语句
VBA与数据库——写个类操作ADO_操作数据库
操作数据库有增加、修改、删除、查询记录等,在前面的例子中,用的基本都是查询,这种是需要得到结果数据的,另外几种是修改数据库里的数据,很多时候是不需要返回数据的。
xyj
2021/11/12
1.2K0
VBA与数据库——ADO
ADO (ActiveX Data Objects,ActiveX数据对象)和字典Dictionary一样,就是Windows系统做好了的一个东西,是一种叫做COM对象的东西。
xyj
2021/04/26
2.1K0
VBA与数据库——ADO
Power Query 系列 (20) - 如何在外部使用Power Query提供的服务
Power Query 作为桌面端数据清理和转换的工具,能极大解放生产力,将繁琐的数据处理工作从重复的劳动中解放出来。那么,Power Query 能否对外提供计算服务呢?或者说 Power Query 有没有对外提供的编程接口? 根据我的探索,似乎没有,但在网络上找到下面的两种 walkaround 方式,都比较小众。所以如果真的需要数据处理、数据分析服务的话,不如选择其他的方案,比如 pandas 等等,拥有更大的自由度。
StoneWM
2021/03/25
2.7K0
推荐阅读
相关推荐
VBA与数据库——简化程序编写-筛选
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验