VBA利用ADO操作EXCEL表

Posted zhujie-com

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA利用ADO操作EXCEL表相关的知识,希望对你有一定的参考价值。

Sub OPENSANDEXC()
Dim Conn As Object, Rst As Object
Dim sql As String, Path As String
Dim i As Integer, PathStr As String
Set Conn = CreateObject("ADODB.Connection")
Set Rst = CreateObject("ADODB.Recordset")
Path = "H:应付账款9月.xlsm" ‘要操作的工作薄路径
Conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Path + ";Extended Properties=‘Excel 8.0;HDR=Yes;IMEX=1‘;" ‘Office 07版本以上
‘Conn.Open "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + Path + ";Extended Properties=‘Excel 8.0;HDR=NO;IMEX=1‘;" ‘Office 07版本以下
sql = "select [编 码],[名称#] from [工作表1$]" ‘如果字段名中包含空格,在SQL语句中要用中括号括起来,如果有小数点(.),要用#号代替并用中括号括起来
Set Rst = Conn.Execute(sql)
For i = 0 To Rst.Fields.Count - 1 ‘字段
Cells(1, i + 1) = Rst.Fields.Item(i).Name
Next
Range("a2").CopyFromRecordset Rst ‘复制记录集
Conn.Close
Set Conn = Nothing: Set Rst = Nothing
End Sub

以上是关于VBA利用ADO操作EXCEL表的主要内容,如果未能解决你的问题,请参考以下文章

利用ADO让普通人用excel读取oracle数据库表的通用办法

Excel VBA 导出到 Access:ADO 错误

Excel VBA ADO查询循环太多行

Excel-VBA操作文件的四大方法

Excel-VBA操作文件四大方法之一

VBA Excel ADO SQL 更新查询不起作用