VBA 连接EXCEL之一键查询

VBA 连接EXCEL之一键查询Excel 经常用来保存数据进行查询 数据量特别大时 直接用 Excel 的公式函数 会感到运行起来卡顿慢 这时候用 VBA 进行查询会发现特别快 最关键的是我们不用打开存放数据的 Excel 工作簿就能查询到数据 就像数据库一样 要不要特别爽

欢迎大家来到IT世界,在知识的湖畔探索吧!

Excel经常用来保存数据进行查询,数据量特别大时,直接用Excel的公式函数,会感到运行起来卡顿慢,这时候用VBA进行查询会发现特别快,最关键的是我们不用打开存放数据的Excel工作簿就能查询到数据,就像数据库一样,要不要特别爽。

VBA 连接EXCEL之一键查询

VBA连接Excel

一、基本文件

下图中的用工表保存着要查询的数据。

VBA 连接EXCEL之一键查询

数据存放位置

VBA 连接EXCEL之一键查询

用工表中的数据

二、VBA代码

Sub GetDatafromexcel()

’第一部分定义变量与并赋值

Dim con As ADODB.Connection

Dim rs As ADODB.Recordset

Set con = New ADODB.Connection

Set rs = New ADODB.Recordset

Dim sql As String

Dim sh As Worksheet

Set sh = Sheets(2) ‘即set sh=sheets(“sheet2”)

‘连接要查询的数据文件

Cells.Clear

con.Open “Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source= E:/用工表.xls”

‘执行SQL查询语句

sql = “select * from [用工费$]”

Set rs = con.Execute(sql)

‘设置字段名

For i = 0 To rs.Fields.Count – 1

sh.Cells(1, i + 1) = rs.Fields(i).name

Next i

‘将结果集中的数据拷贝到指定位置,这里是当前工作簿的sheets(2)工作表中的A2单元格起始位置

sh.Range(“A2”).CopyFromRecordset rs

‘关闭连接,清除内存

rs.Close: Set rs = Nothing

con.Close: Set con = Nothing

End Sub

代码的每一部分很好理解,小白根据我提供的文件,照搬就行。若有不妥和不明白之处可以在评论区留言,欢迎关注、点赞、转发、收藏和评论。下期再见。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/81397.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信