因此,当函数与我的Sub在同一个工作簿中时,我使用了以下代码:
FDError= FilterData(sh, current)
但是现在它被移动到另一个工作簿,我必须从那里调用它我收到错误(运行时错误13:类型不匹配):
FDError = Application.Run("'" & rwb.Name & "'!FilterData", "sh", "current")
答案 0 :(得分:1)
以下是Application.Run
:http://msdn.microsoft.com/en-us/library/office/aa220716(v=office.11).aspx
问题是你没有提供宏所需的实际参数来运行,而是将它们的名称作为字符串。你想打电话:
FDError = Application.Run("'" & rwb.Name & "'!FilterData", sh, current)
其中sh
和data
应该是两个具有正确类型的变量(即它们是,或者可以转换为Variant
),并且已正确初始化。