如果我有一个Excel函数,例如:
=my_function(A1:C4)
我想从 VBA 中调用它,例如:
Dim t as variant
t = Application.Run("my_function",X)
X 表示 A1:C4 的最简单方法是什么?
您的范围必须来自工作表,因此如果您首先定义该范围,然后将其传递给其他工作簿中的函数(我认为这就是您想要做的,因为否则您不会使用 Application.Run )。所以下面的代码就可以解决这个问题:
Sub RunFunctionInAnotherWorkbook()
Dim rThisRange as Range
Dim vResult as Variant
Set rThisRange = ActiveSheet.Range("A1:C4")
vResult = Application.Run("'MyOtherWorkbook.xls'!TheModuleName.TheSubName", rThisRange)
End Sub
以及工作簿“MyOtherWorkbook.xls”中的函数:
Function TheSubName(inputRange as Range) as Variant
'Work your magic here
End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)