Excel 删除工作表中的行时发生运行时错误\u更改
我对此代码有问题:Excel 删除工作表中的行时发生运行时错误\u更改,excel,vba,Excel,Vba,我对此代码有问题: Private Sub Worksheet_Change(ByVal Target As Range) If Target Is Nothing Then Exit Sub MsgBox Target.Value End Sub 在向某个单元格输入文本后,我会收到一个消息框,但如果我尝试删除刚输入文本的行,我会收到一个错误: 运行时错误“13”:类型不匹配 如何修复此错误?为什么这种情况没有抓住它 因此删除行时,整个行是过程中的target对象。因此,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target Is Nothing Then Exit Sub
MsgBox Target.Value
End Sub
在向某个单元格输入文本后,我会收到一个消息框,但如果我尝试删除刚输入文本的行,我会收到一个错误:
运行时错误“13”:类型不匹配
如何修复此错误?为什么这种情况没有抓住它 因此删除行时,整个行是过程中的
target
对象。因此,宏无法返回行的值
程序员通常做的是在消息框前检查附加条件:
If Target.Count =1 Then
'your messagebox here
End If
因此,当您删除行时,整个行就是过程中的
target
对象。因此,宏无法返回行的值
程序员通常做的是在消息框前检查附加条件:
If Target.Count =1 Then
'your messagebox here
End If
抱歉,错过了重要部分MsgBox目标。值抱歉,错过了重要部分MsgBox目标。Value@Tyrick,事实上,如果Target.Cells.Count=1,则条件与此条件相同,这意味着我们检查有多少单元格受到更改的影响。如果只有一个,当用户一次更改/删除更多单元格时,我们触发操作并拒绝所有其他情况。@Tyrick,事实上,如果Target.cells.Count=1,情况与此相同,这意味着我们检查有多少单元格受到更改的影响。如果只有一种情况,当用户一次更改/删除更多单元格时,我们触发操作并拒绝所有其他情况。