2012-07-02 55 views
0

称为如果我在一个单元格,然后按输入以下Excel函数输入,它的工作原理:Excel函数的字符串,从VBA

“= T_DisplayReport(A1)”

,但如果我写了下面的在VBA:

Sheets("Sheet1").Cells(1, 1).Formula = "=T_LoadReport(""X"",""Y"",true)" 
Sheets("Sheet1").Cells(1, 1).Calculate 

Sheets("Sheet1").Cells(2, 1).Formula = "=T_DisplayReport(A1)" 
Sheets("Sheet1").Cells(2, 1).Calculate  

它不工作。我如何将单元格A1硬编码到上面的VBA中,以便它被识别并且该函数有效?

编辑:A1包含另一个函数,它获取数据并将其保存到本地缓存。 T_DisplayReport()获取单元格A1以显示此数据。

+0

嗯,我刚测试它,它的工作原理...你能告诉我们什么功能呢? –

+0

我无法真正显示,因为它是一个自定义的插件功能,但基本上我有一个功能,并获取数据的负载并将其放入本地缓存。第二个函数然后从本地缓存中检索数据并将其粘贴到表单上。我没有写这些,所以不能真正提供代码。 – mezamorphic

+0

嗯...你可以测试这个给我...这是给你什么? 'MsgBox Application.Evaluate(“= DisplayReport(A1)”)' –

回答

1

根据您使用的是哪个版本的Excel,您的Range.Calculate语句可能无法正确处理异步函数依赖关系。
尝试删除您的第一个Range.Calculate并替换您的最后range.calculate与表(“Sheet1”)。计算或Application.Calculate