如果我有一个excel函数,例如:
=my_function(A1:C4)
Run Code Online (Sandbox Code Playgroud)
我想从VBA这样称呼:
Dim t as variant
t = Application.Run("my_function",X)
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
而工作簿"MyOtherWorkbook.xls"中的功能:
Function TheSubName(inputRange as Range) as Variant
'Work your magic here
End Function
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3580 次 |
最近记录: |