excel - 从工作表名称和单元格地址中获取值

标签 excel vba

很多时候,我需要从多张工作表中获取一个值(对于一些疯狂的工作簿 - 最多可达 200 张)。问题是所有这 200 张纸的结构都相同,即使它们的名字也一样,我很疯狂地通过这 200 张纸一张一张地链接。有没有办法创建一个用户定义的函数,比如

=getValue(sheetName,cell address)

我试过了
Function GetValue(sheetName As String, cellAddress As String) As Variant
   GetSheetValue = Range(sheetName & "!" & cellAddress).Value
End Function

在我在 Excel 文件之间切换之前效果很好。该函数开始返回#Value,我的感觉是它试图在其他打开的工作簿上搜索 SheetA、B、C、D @A1。

enter image description here

最佳答案

试试下面的代码

Function GetValue(sheetName As String, cellAddress As String) As Variant
   GetSheetValue = ThisWorkbook.Sheets(sheetName).Range(cellAddress)
End Function

关于excel - 从工作表名称和单元格地址中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19325320/

相关文章:

excel - 如何打开以工作表中的单元格命名的工作簿?

arrays - 在 VBA 中对多维数组进行排序

vba - 自动安装Excel VBA插件

vba - Microsoft Excel 数据连接 - 通过 VBA 更改连接字符串

c# - 试图模仿 Excel 舍入让我很伤心

c# - Windows 窗体 + Excel 工作表

vba - 功能区中维护值的复选框

vba - 无法以编程方式刷新 VBA 代码

c# - WebAPI 返回文件和下载未开始

当命名范围的引用不是事件工作表时,Excel VBA评估函数错误