Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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 VbA工作表\u更改无法识别单元格上的删除键_Excel_Vba_Onchange_Worksheet Function - Fatal编程技术网

Excel VbA工作表\u更改无法识别单元格上的删除键

Excel VbA工作表\u更改无法识别单元格上的删除键,excel,vba,onchange,worksheet-function,Excel,Vba,Onchange,Worksheet Function,简单的事情: Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, ThisWorkbook.ActiveSheet.Range("C1")) Then debug.print "value changed" If IsEmpty(Target.Value2) Then debug.print "ie empty" else

简单的事情:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, ThisWorkbook.ActiveSheet.Range("C1")) Then
        debug.print "value changed"
        If IsEmpty(Target.Value2) Then
            debug.print "ie empty"
        else
            debug.print "is not empty"
        end if
    end if
end sub
我补充说:

debug.print "value changed"
若要查看delete键是否触发了工作表的更改,则只有在更改值时才会触发,如果为空,则会触发add!但一旦有了什么,我选择单元格并按键盘上的DELETE键,什么也不会发生:

代码有什么问题?

更换:

If Intersect(Target, ThisWorkbook.ActiveSheet.Range("C1")) Then
与:

编辑1:


一个可能的问题是,If需要一个布尔值,而Intersect返回的是一个范围。Excel正在尝试解释范围,有时会成功。

您好,它可以工作。。。你能详细说明一下吗?我看不出您的代码和mine@JiriZaloudek请看我的编辑1:您好,实际上不是,如果不是IntersectTarget,我已经使用了代码,ThisWorkbook.WorksheetsSummary.RangeC1是Nothing,当我使用not Is Nothing时它工作正常,那么我很好,但是如果我不这样做,那么没有。。。这就是我不知道的understand@JiriZaloudek我无法回答您的问题…………至少我们找到了一些有效的方法…………我建议您尝试各种变化,以发现问题的根本原因。。。。。。。。。。。。。。。。。
If Not Intersect(Target, Range("C1")) Is Nothing Then