我有一张Excel表单,其中包含的公式仅在双击它所在的单元格时进行评估。我一直在尝试在打开的工作簿事件中编写一些代码,触发双击或VBA等效的双击以强制评估此单元格的公式,但无法找到有效的任何内容。 我试过了:
Application.Evaluate("I2")
^什么都不做
With Range("I2")
.Value = .Value
End With
^也什么都不做
Dim doubleClick As Variant
doubleClick = Application.WorksheetFunction.DfsCell("TimeSeries", 7.27, Chr(34) & "IRESS_UPDATE!$B$5:$B$36" & Chr(34), 2, , , , , , Chr(34) & "IRESS_UPDATE!$A$2" & Chr(34), Chr(34) & "IRESS_UPDATE!$B$2" & Chr(34), True, 0, False, True, "10:00:00", "16:00:00", 5, "0*5")
^给出运行时错误'':对象不支持此属性或方法
有谁知道如何模拟双击单元格?
答案 0 :(得分:1)
我找到了一个解决方案,下面的代码强制评估第三方加载项的功能,在这种情况下是澳大利亚金融市场软件IRESS,但我看过很多加载项的例子: / p>
Sub AutoUpdateIRESSData()
Range("I2").Select
Application.Run "'ddeiress.xla'!Execute"
End Sub
我在Workbook_Open事件中添加了对上述子例程的引用,并在打开工作簿时成功重新评估了这些函数。
答案 1 :(得分:-1)
这是否有效,将工作表子更改为公共而非私有?
Option Explicit
Sub test()
Dim shToCall As Sheet1
Set shToCall = Sheet1
shToCall.Worksheet_BeforeDoubleClick Range("a1"), False
End Sub