環境:win32 + office 2016專業增強版
參考:Microsoft Excel 16.0 Object Library 、 Microsoft ActiveX Data Objects 6.1 Libray 以及Microsoft ActiveX Data ObjectsRrecordset 6.0 Libray
程式如下:
Private Sub CommandButton1_Click()
Dim Con As New ADODB.Connection
Dim strCon As String
Dim strSQL As String
Dim rs As ADODB.Recordset '設定記錄集
Dim i
strCon = "Provider=Microsoft.ACE.OLEDB.16.0;Data Source=D:\001業務基礎資料\明細業務梳理\TEMPEXCEL.xlsm;Extended Properties=Excel 16.0 宏;HDR=Yes;IMEX=0"
Con.Open strCon
strSQL = "SELECT distinct * FROM [Sheet1$D1:F$50]"
Set rs = Con.Execute(strSQL)
For i = 1 To rs.Fields.Count - 1 '逐個欄位
Cells(3, i + 3) = rs.Fields(i).Name '取欄位名 字頭放置在cell(3,3)
Next i
Range("c9").CopyFromRecordset rs
rs.Close
Con.Close
Set rs = Nothing
Set Con = Nothing
End sub
除錯報錯:找不到可安裝的ISAM
報錯行為: Con.Open strCon
uj5u.com熱心網友回復:
Data Source 后面的路徑要加引號Extended Properties 后面那個宏字不知道是否正常
uj5u.com熱心網友回復:
語法錯誤了, 應該是 : "Provider=Microsoft.ACE.OLEDB.16.0;Data Source=""D:\001業務基礎資料\明細業務梳理\TEMPEXCEL.xlsm"";Extended Properties=""Excel 16.0 宏;HDR=Yes;IMEX=0""" 要加引號轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/35168.html
標籤:VBA
上一篇:VBA
下一篇:postman
