Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 删除工作表中的行时发生运行时错误\u更改_Excel_Vba - Fatal编程技术网

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,情况与此相同,这意味着我们检查有多少单元格受到更改的影响。如果只有一种情况,当用户一次更改/删除更多单元格时,我们触发操作并拒绝所有其他情况。