【问题标题】:“Run-time error ‘13’: Type mismatch” error message“运行时错误‘13’:类型不匹配”错误消息
【发布时间】:2018-02-01 19:33:20
【问题描述】:

下午好。

我是 VBA 的新手。根据我在互联网上的研究,当NG 输入范围内的单元格时,我已经能够添加一些显示消息框的行。但是,当我尝试从多个单元格中删除输入时,我收到了 Run-time error ‘13’: Type mismatch 消息。任何想法我做错了什么以及如何解决它?我在下面添加了我在VBA 中输入的代码:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("I3:JY30")) Is Nothing Then Exit Sub
    If Target.Value <> "NG" Then Exit Sub
    MsgBox "ATTENTION: If bell cup is No Good, please replace with new cup and notify supervisor/leader for review. Also, document bell cup serial number and concern on worksheet titled Scrap Bell Tracking "
End Sub

此外,当我单击“调试”时,If Target.Value &lt;&gt; "NG" Then 会突出显示。

提前感谢您的帮助。

【问题讨论】:

    标签: vba runtime-error


    【解决方案1】:

    Target 是一个范围,因此它可能包含多个单元格。在这种情况下,Value 属性无效。

    一个简单的解决方案是忽略多个单元格的更改:为此,我们需要在访问 Value 属性之前添加以下内容:

    If Target.Count <> 1 Then Exit Sub
    

    但是如果 e. G。用户粘贴五个单元格,其中一个或多个包含文本。完美的解决方案是遍历范围并分别检查每个单元格。然后,如果在多个单元格中找到文本,您将不得不考虑是否要多次显示该消息。所以,我将把它作为练习留给读者......

    【讨论】:

    • 谢谢。我的东西仍然超出了我目前的能力,但我会继续努力。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 2015-10-28
    • 1970-01-01
    相关资源
    最近更新 更多