【问题标题】:VBA Run Time Mode MultiVBA 运行时模式多
【发布时间】:2020-07-07 19:42:06
【问题描述】:

我遇到了运行时错误 1004 的问题。在错误描述中说“无法获取工作表函数类的 Mode_Mult 属性”

出现此错误是因为所选范围内没有 Mode_Multi 值。没关系,但我无法使用 On error resume 或 goto 命令跳过错误。

我的命令行喜欢

ws.Range("f8") = WorksheetFunction.Mode_Mult(Range(Cells(1, 6), Cells(t, 6)))

【问题讨论】:

  • Range(Cells(1, 6), Cells(t, 6)) 您正在使用当前活动的工作表。如果可能的话,更明确地说明您正在谈论的工作表可能是一个好主意。

标签: vba runtime-error


【解决方案1】:

您应该能够使用On Error Resume Next 语句“跳过”错误。现在On Error Resume Next 是危险的,因为它隐藏了所有类型的错误,所以在大多数情况下应该避免它。但是,如果您只是想“捕获”一个预期的错误,那完全没问题 - 但仅限于可能失败的行。

以下代码应该适合您 - 如果Mode_Mult 失败,您只需决定要写入F8 的内容:

Dim mm as Variant
mm = "(no mm value)"      ' Choose whatever you want if Mode_Mult fails.
On Error Resume Next      ' Allow code to continue if Mode_Mult fails.
mm = WorksheetFunction.Mode_Mult(Range(Cells(1, 6), Cells(t, 6)))
On Error GoTo 0           ' But if now something fails, throw an error again.
ws.Range("F8") = mm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 2022-11-14
    • 2015-04-22
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多