Excel(WPS)使用VBA,不打开文件情况下提取其他工作簿数据

这篇博客介绍了如何利用VBA编写提取函数,从指定的Excel(WPS)文件中,不打开文件的情况下读取特定工作表和单元格的数据。示例展示了如何读取D:Testdata.xlsx的Sheet1工作表中D9单元格内容,并将其存储到当前工作簿的C7单元格。

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

Excel(WPS)使用VBA,不打开文件情况下提取其他工作簿数据


在不打开工作簿的情况下,VBA读取其他工作簿数据
很多方法需要打开才能提取,如果没打开会显示错误,比如inderect函数等

提取函数,返回提取到的值

path:文件路径
file:文件名
sheet:工作表名
ref:需要读取的目标单元格

Private Function GetValue(path, file, sheet, ref)
    '   从未打开的Excel文件中检索数据
    Dim arg As String
    '   确保该文件存在
    If Right(path
### 如何在 WPS Excel 中插入其他 Excel 文件的工作表或数据 #### 使用内置功能导入外部数据 WPS Office 提供了多种方法来处理Excel文件间的数据交互。对于希望将一个Excel文档中的特定工作表或部分数据引入到当前正在编辑的文档中,可以通过“数据”选项卡下的“获外部数据”命令实现[^1]。 #### 利用VBA宏脚本批量操作 如果面对的是大量需定期同步更新的同源文件,则编写一段简单的VBA代码可能是更高效的选择。下面给出了一段用于加载指定路径下所有Excel文件首个Sheet至新Workbook各独立Sheets内的VBA实例: ```vba Sub MergeWorkbooks() Dim FolderPath As String, Filename As String Dim wbSource As Workbook, wsTarget As Worksheet Application.ScreenUpdating = False FolderPath = "C:\Your\Folder\Path\" ' 修改为实际存放待合并文件的位置 Set wsTarget = ThisWorkbook.Sheets.Add Filename = Dir(FolderPath & "*.xls*") Do While Filename <> "" With Workbooks.Open(FolderPath & Filename) .Worksheets(1).Copy After:=wsTarget .Close SaveChanges:=False End With Filename = Dir Loop Application.DisplayAlerts = True End Sub ``` 此段代码遍历给定目录内所有的`.xlsx`/`.xlsm`等格式文件,并将其第一个工作表复制粘贴到一个新的工作簿里作为单独的新Sheet保存下来。 #### 借助第三方插件简化流程 除了上述两种方式外,还可以考虑安装一些专门针对Office系列软件开发的功能扩展工具,比如Kutools for Excel就提供了便捷的一键式解决方案——允许用户快速选多个目标文件并自定义设置要提取的具体范围以及最终呈现样式[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值