Evaluate() 函数返回错误 2023,但是没有错误

Evaluate() Function Returning Error 2023, however there is no error

我正在使用 Evaluate() function 在将值放入单元格之前测试错误值。在我下面的示例中,这是 returning Error 2023,但是当我将字符串粘贴到单元格中时,它读取正确且没有错误(将 return 与外部电子表格中引用的值完全相同).示例如下:

Evaluate("='H:\@Projects\@Dev[BudgetTracking_ProjectName_MSTR_FK_2.xlsm]Budget Estimate (2)'!F44")

错误 2023 是 xlErrRef #REF!。 Evaluate 函数无法直接从已关闭的工作簿中求值。打开 H:\@Projects\@Dev\BudgetTracking_ProjectName_MSTR_FK_2.xlsm

Evaluate("='H:\@Projects\@Dev\[BudgetTracking_ProjectName_MSTR_FK_2.xlsm]Budget Estimate (2)'!F44")

会起作用。注意目录名“@Dev”后面的“\”。

但当然

Evaluate("='[BudgetTracking_ProjectName_MSTR_FK_2.xlsm]Budget Estimate (2)'!F44")

就够了。

要从关闭的工作簿中获取值,您必须使用 Excel4Macro 功能。参见:http://spreadsheetpage.com/index.php/tip/a_vba_function_to_get_a_value_from_a_closed_file/