我正在读这个帖子 A custom find function 这是陈述的
Interesting result. Note that Evaluate is same as Application.Evaluate and takes roughly twice as long as Activesheet.Evaluate – chris neilsen
是否应始终使用Activesheet.Evaluate
代替Application.Evaluate
?
由于
答案 0 :(得分:4)
我不知道你是否应该,但看起来你可以。例如,这些都可以工作:
Activesheet.Evaluate("2")
Activesheet.Evaluate("Sheet1!A1+Sheet2!A1")
Activesheet.Evaluate("SUM([Book1]Sheet1!A1,[Book1]Sheet2!A1,[Book2]Sheet1!A1,[Book2]Sheet2!A1)")
第一种情况是与工作表无关,它在立即窗口中返回正确的结果。
第二个引用两张纸并返回正确的结果。和第三部分一样,它指的是两种不同的工作簿。
明显的警告是始终完全限定任何工作表或工作簿参考。