excel - Application.Run 和范围参数?

标签 excel vba

如果我有一个 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

关于excel - Application.Run 和范围参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13800213/

相关文章:

java - 如何使用java查找xlsx中的空白单元格

excel - 如何从多个文本文件中提取每个单独文件名的数据?

vba - 仅当该名称的工作表不存在时才创建新工作表并为其命名

Excel 错误代码 1004 - 方法打开对象工作簿失败

sql - 检查表Access 2010 VBA中是否已存在记录

excel - 在 ActiveX 按钮单击上捕获工作表名称

javascript - 如何在没有按钮的情况下停止javascript中的setinterval函数

java到excel日期格式

java - 如何比较两个 HashMap<String, List<String>>

excel - Excel公式中 '{ }'的含义?