excel内一键进行sql查询(使用方法 1.选择’需要进行sql查询区域 包括字段名 2 输入sql语句 3.选择输出数据的单元格)

介绍了一个Excel插件,通过VBA实现SQL查询功能。用户可以选择数据区域并输入SQL语句来查询Excel数据,同时选择输出数据的位置。此插件利用ADODB连接Excel文件并执行SQL查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

‘ 把该代码放入xlam后,在自定义功能区加载快捷键 alt+2

‘ 使用方法 1.选择’需要进行sql查询区域 包括字段名 2 输入sql语句 3.选择输出数据的单元格


Sub ExcelSQL()


   
    Dim strCon As String
    Dim rs As ADODB.Recordset  '设置记录集
    Dim i, t
    Dim Rng1 As Range
    Dim Rng2 As Range
    
    On Error Resume Next
    
    Set Rng1 = Selection
    Set Con = CreateObject("ADODB.Connection")
    
    
    Con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=excel 12.0;Data Source=" & ActiveWorkbook.FullName
    strCon = "[" & ActiveSheet.Name & "$" & Replace(Rng1.Address, "$", "") & "]"
    strSql = Application.InputBox("请输入SQL语句,数据源用@代替:", Type:=2)
    strSql = Replace(strSql, "@", strCon)
    
    
    Set Rng2 = Application.InputBox("请选择输出位置:", Type:=8)
    Set rs = Con.Execute(strSql)
    
    For i = 0 To rs.Fields.Count - 1 '逐个字段
    
         Rng2.Offset(0, i) = rs.Fields(i).Name '取字段名  字头放置在cell(3,3)


    Next i
    
    'Rng2.CopyFromRecordset Con.Execute(strSql)  '不要字段
    
    Rng2.Offset(1, 0).CopyFromRecordset Con.Execute(strSql)


    Set Con = Nothing


End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值