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

时间:2015-01-22 05:42:36

标签: excel vba function evaluate

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

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

1 个答案:

答案 0 :(得分:1)

错误2023是xlErrRef #REF!。评估功能无法直接从已关闭的工作簿中进行评估。打开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/