欢迎大家来到IT世界,在知识的湖畔探索吧!
Excel经常用来保存数据进行查询,数据量特别大时,直接用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