VBA读取其他Excel内容

VBA读取其他Excel内容


采用Microsoft于2020/8/11新出的 AccessDataBaseEngineMicrosoft Access 2016 数据库引擎可再发行程序包)在VBA中读取Excel内容。

AccessDataBaseEngine安装

如何选择安装32位或64位AccessDataBaseEngine?打开Excel,点击文件 > 账户 > 关于Excel 查看。下载AccessDataBaseEngine并安装。AccessDataBaseEngine资源、及详细安装信息参见Microsoft官网

Excel内容读取

  • 打开Excel保存格式选择为xlsmAlt + F11打开VBA,新建模块(Module)。
  • 点击工具 > 插入 > 引用找到Microsoft ActiveX Data Objects 6.1,目的使代码编写时有题词功能,当然CreateObject方法也可以使用。
Public Sub ExcelReader
    Dim cnn As New ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim path As String
    Dim row As Integer
    
    '被读取的Excel文件路径
    path = Environ("userprofile") & "\Desktop\InputExcel.xlsx"
    cnn.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & path
    
    '可在"$"后添加具体读取范围
    '例如"SELECT * FROM [Sheet1$A1:Y180]"
    Set rst = cnn.Execute("SELECT * FROM [Sheet1$]")
    
    '显示列名(读取范围的第一行)
    row = 1
    For i = 1 To rst.Fields.Count    
    	Cells(row, i) = rst(i - 1).Name
    
    Next
    
    '显示所有数据
    While Not rst.EOF
     	row = row + 1
     	
       	For i = 1 To rst.Fields.Count	    
   		Cells(row, i) = rst(i - 1)
    
   	 Next
    
    	rst.MoveNext
    Wend
    
    rst.Close
    cnn.Close
End Sub

最后回到刚保存的xlsm文件调用VBA,点击开发工具 > > 选择ExcelReader > 执行(没有开发工具选项可在文件 > 选项 > 自定义功能区 > 勾选开发工具 > 确定)。或者插入按钮绑定事件,点击即可。

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

Maxwell妖

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值