下午好。
我是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
此外,当我单击Debug时,If Target.Value <> "NG" Then
会突出显示。
提前感谢您的帮助。
答案 0 :(得分:0)
Target
是一个范围,因此它可能包含多个单元格。在这种情况下,Value
属性无效。
一个简单的解决方案是忽略多个单元格的更改:为此,我们需要在访问Value
属性之前添加以下内容:
If Target.Count <> 1 Then Exit Sub
但如果e,那就不会显示消息。 G。用户粘贴五个单元格,其中一个或多个包含文本。完美的解决方案是循环遍历范围并分别检查每个单元格。如果在多个单元格中找到文本,您将不得不考虑是否要多次显示该消息。所以,我会将其作为练习留给读者......