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