VbA Worksheet_Change无法识别单元格上的DELETE键

问题描述 投票:0回答:1

简单的事情:

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"

以查看“删除”键是否正在触发Worksheet_Change(),但它没有触发,仅在更改值时才触发(或者如果为空则添加)!但是一旦有东西,我选择单元格并按键盘上的DELETE,就什么也没有发生:(

代码有什么问题?

excel vba onchange worksheet-function
1个回答
1
投票

替换:

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

with:

If Not Intersect(Target, Range("C1")) Is Nothing Then

EDIT#1:

[一个可能的问题是If期望Boolean,并且Intersect()返回Range。 Excel试图解释Range并在某些时候成功。

© www.soinside.com 2019 - 2024. All rights reserved.