使用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")
来源:CSDN
作者:个人存在
链接:https://blog.csdn.net/qq_38240938/article/details/104563948