在VBA函数中使用Application.Match时出现“无效的过程调用或参数”

邓弗莱斯

这是我的功能:

Function stageValueVariance(stage As String, valCol As Long)
    For i = 2 To offlineHeight
        If Application.VLookup(offline.ListColumns(1).Range(i).value, bce.DataBodyRange, valCol, 0) <> offline.ListColumns(valCol).Range(i).value Then
            foundID = Application.WorksheetFunction.Match(offline.ListColumns(1).Range(i), oldOut.ListColumns(1).DataBodyRange, 0)
            If foundID = 0 Then
                foundID = Application.WorksheetFunction.Match(offline.ListColumns(1).Range(i), valComp.ListColumns(1).DataBodyRange, 0)
            End If
            If foundID = 0 Then
                With stageValComp.ListRows.Add
                    .Range(1) = offline.ListColumns(1).Range(i)
                    .Range(2) = offline.ListColumns(2).Range(i)
                    .Range(3) = stage
                    .Range(4) = offline.ListColumns(7).Range(i)
                    .Range(5) = Application.VLookup(offline.ListColumns(1).Range(i).value, bce.DataBodyRange, valCol, 0)
                    .Range(6).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="Yes, No"
                End With
            End If
            foundID = 0
        End If
    Next i
End Function

我在此行收到“无效的过程调用或参数”错误:

foundID = Application.WorksheetFunction.Match(offline.ListColumns(1).Range(i), oldOut.ListColumns(1).DataBodyRange, 0)

如果它是有用的,该行代码被检查的ID已经不另一个表中存在,因此offlineoldOut被声明为在模块的顶部ListObjects。

我以前从未遇到过此错误,并且似乎无法在线找到太多信息。有任何想法吗?

深奥的

您可能会发现DataBodyRangeinoldOut.ListColumns(1).DataBodyRange不存在。

如果测试oldOut.ListColumns(1).DataBodyRange.Address返回的对象未设置错误,那么肯定是问题所在。

我可以重现错误的唯一方法是删除DataBodyRange或删除表。否则,代码可以正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Excel VBA中调用函数时无效的过程调用或参数

填充 ComboBox 时无效的过程调用或参数 vba

获取下一个文件时,Excel VBA 中的过程调用或参数无效

使用“0”个参数调用“ReadToEnd”时出现异常:“填充无效且无法删除。”

无效的过程调用或参数vba。运行时错误5

vba excel条件格式 - 无效的过程调用或参数

VBA 中的无效过程调用和参数错误

运行时错误'5':通过VBA更新报表过滤器时,无效的过程调用或参数

调用 MergeArea 时过程调用或参数无效

在 IDLE 中调用函数时出现 Python“无效语法”错误

调用映射 getter 时 Solidity 函数的参数数量无效

在Android中使用asynctask调用函数时出现问题

尝试在R Shiny Application中使用mapply函数时出错

MDX:减去时无效的过程调用或参数

VBA 数据透视表运行时错误 5:无效的过程调用或参数

VBA-While While循环返回Dir <无效的过程调用或参数>

VBA 帮助 - 运行时错误 5:无效的过程调用或参数,仅在首次运行时

函数Dir()无法正常工作:错误代码5:无效的参数或过程调用

使用函数作为另一个函数的参数时出现“错误:无效使用无效表达式”

在VBA中使用Vlookup和IsNA函数时出现运行时错误438

在估算器model_fn中使用keras模型API时出现无效的参数错误

ORA-00904在参数化查询中使用“ MERGE INTO”时出现“无效标识符”错误

将访问查询导入 excel 表时出现“无效的过程调用或参数”

调用UDF时出现“此函数不带参数”错误

将变量传递给函数时,出现“无效参数”,但是当我进行硬编码时,它可以在Apps脚本中使用

Excel VBA - 在 VBA 函数中使用命名范围作为参数

execv函数调用的参数无效

VBA;无效的过程或参数错误

使用varargs参数调用重载方法时出现Nashorn错误