请问着么用VBA引用SQL某一列数据到EXCEL表单A列中

2024-11-24 01:39:59
推荐回答(1个)
回答1:

Sub SQL_Excel()

On Error Resume Next '如果出现错误,忽略,然后执行下一行代码。
Application.ScreenUpdating = False '关闭屏幕刷新,成对出现,提高速度
Application.DisplayAlerts = False '关闭提示,,成对出现,避免出现提示框

'--------------------------------------- 参数声明部分 ------------------- ------------------- -------------------

Dim cnn, StrSQL$ '定义数据库连接和SQL语句
Set cnn = CreateObject("adodb.connection") '创建数据库连接
Set rs = CreateObject("adodb.recordset") '创建一个数据集保存数据

'--------------------------------------- 设置数据库连接 ------------------- ------------------- -------------------

cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR = yes';Data Source=" & ThisWorkbook.Path & "\数据表.xlsx"
'--------------------------------------- 设置SQL语句 ------------------- ------------------- -------------------

SQL = "select 型号from [数据表_1$A1:G100]

'--------------------------------------- SQL结果处理 ------------------- ------------------- -------------------

Set rs = cnn.Execute(StrSQL) '将SQL语句获得的数据传递给数据集
Sheets("结果").Cells.ClearContents '清理保存数据的区域

Sheets("结果").Range("a2").CopyFromRecordset rs '将数据集粘贴到Excel中,左上角为A2,无列名。

cnn.Close '关闭数据库连接
Set cnn = Nothing '将CNN从内存中删除。
'--------------------------------------- ------------------------ ------------------- -------------------
Application.ScreenUpdating = True
Application.DisplayAlerts = True