您的位置:来学习素材网 > 办公软件 > excel教程

猜你喜欢

2024-01-13 22:15
Excel-VBA不打开工作薄取值
[文章导读]Excel-VBA不打开工作薄取值

应用场景

不打开工作薄直接取值

知识要点

1:VBA中没有不打开工作薄而取其工作表数据的方法,但excel的公式却可以完成

2:提供正确的路径和区域地址即可。所以本例借用公式获取数据,在将公式转换成值,从而实现不打开工作薄也可以取值

3:只能取其数值,而不能引用其单元格格式和该区域中的图形对象,如果需要引用格式或者图形对象、图标等,那么必须打开工作

4:Range.FormulaArray 属性 返回或设置区域的数组公式

Sub 取值(路径 As String, 文件 As String, 工作表, 单元格 As String)

On Error Resume Next

Dim Rng As Range

'对变量rng赋值,等于活动单元格为参照原点并扩展其高度、宽度与参数单元格一致的区域

Set Rng = ActiveSheet.Resize(Range(单元格).Rows.Count, Range(单元格).Columns.Count)

If Err <> 0 Then

MsgBox "请调整区域,当前区域不足以存放引用区域的值" & Chr(10) & "建议选择A1在执行程序", 64, "提示"

Exit Sub

End If

'将目标区域复制到以当前表活动单元格为左上角的相同大小的区域中

With ActiveCell.Resize(Range(单元格).Rows.Count, Range(单元格).Columns.Count)

'在指定区域输入公式,该公式引用指定路径下的工作表数据,可以是单元格也可以是区域

.FormulaArray = "='" & 路径 & "\[" & 文件 & "]" & 工作表 & "'!" & 单元格

'将公式转换为值

.Value = .Value

End With

End Sub

Sub 不打开工作薄取销售统计()

'调用sub过程,指定参数

取值 ThisWorkbook.Path & "/2017销售", "7月销售.xls", "长江路店", "A1:B9"

End Sub

Excel VBA

声明:本站拒绝任何弹窗、插件以及广告联盟的广告,本QQ号(254031582)只解决会员问题,素材失效问题,软件使用问题一律不回。

为广大设计朋友提供平面设计素材和教材、PSD素材、C4D模型、3DMAX模型、AE模板、矢量模板等下载

苏ICP备2023039977号-2

Copyright © 2010-2020laixuexi.cc. All Rights Reserved .