运行时错误13:尝试从另一个工作簿调用函数时,在VBA中键入不匹配

时间:2014-06-25 11:18:39

标签: function vba

因此,当函数与我的Sub在同一个工作簿中时,我使用了以下代码:

 FDError= FilterData(sh, current)

但是现在它被移动到另一个工作簿,我必须从那里调用它我收到错误(运行时错误13:类型不匹配):

FDError = Application.Run("'" & rwb.Name & "'!FilterData", "sh", "current")

1 个答案:

答案 0 :(得分:1)

以下是Application.Runhttp://msdn.microsoft.com/en-us/library/office/aa220716(v=office.11).aspx

的帮助

问题是你没有提供宏所需的实际参数来运行,而是将它们的名称作为字符串。你想打电话:

FDError = Application.Run("'" & rwb.Name & "'!FilterData", sh, current)

其中shdata应该是两个具有正确类型的变量(即它们是,或者可以转换为Variant),并且已正确初始化。