Excel VBA随笔五

ε祈祈猫儿з 提交于 2020-03-08 09:08:04

使用ado操作外部数据
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\BaiduNetdiskDownload\EXCEL_VBA\第十六课\data\Edata.xlsx;Extended Properties=""HDR=YES;"""
Range("a1").CopyFromRecordset conn.Execute("select * from [data$] union all select * from [data2$]")
conn.Close
'添加数据
insert into [data$](姓名, 性别, 年龄) values('太难起', '男', 33)
excel 不能使用sql删除外部数据,可以加一列,设置是否删除,查询的时候,对此进行判断

运行提示找不到可安装的ISAM,加上excel 12.0;
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\BaiduNetdiskDownload\EXCEL_VBA\第十六课\data\Edata.xlsx;Extended Properties=""excel 12.0;HDR=YES;"""

select [data$].姓名, 性别, 年龄, 月薪 from [data$] left join [data3$] on [data$].姓名 = [data3$].姓名

select a.姓名,性别,年龄, 月薪 from (select * from [data$] union all select * from [data2$])a left join [data3$] on a.姓名 = [data3$].姓名
 

使用VBA字典去重复值
工具--引入--microsoft Scripting Runtime
dim dic as new dictionary
dic.add 1, "张三"

dic.add "李四", 8000
dic("李四") = 10000
dic("王二") = 10000
如果有重复值,会被覆盖

定义dim arr()在函数的外面,是全局变量,可以通用

不在工具中引用,直接创建
set dic = createObject("Scripting.Dictionary")

获取当前的时间编号:
range("a1") = "D" & format(vba.now, "yyyymmddhhmmss")

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!