【问题标题】:Call Sub if there is a change in a cell如果单元格发生变化,请调用 Sub
【发布时间】:2018-05-28 13:59:32
【问题描述】:

如果某个单元格发生变化,我想调用一个 Sub。使用下面的代码,这就像单元格中有东西一样工作。

Private Sub Worksheet_Change(ByVal Target As Range) If Target = Range("A1") Or Target = Range("A2") Then Call "Name of Sub" End Sub

但是,如果单元格“A1”或“A2”中没有任何内容,则会出现问题。任何人有想法,如何解决?

【问题讨论】:

  • 它适用于更改,因此如果您删除这些单元格中的某些内容,它将运行(即使它现在是空白的),反之亦然,如果您将某些内容添加到空白单元格中。如果它保持空白,则不会触发事件。

标签: excel vba call


【解决方案1】:

这已经有点像 的设计模式了:

Private Sub Worksheet_Change(ByVal Target As Range)
    If (Not Intersect(Target, Range("A1")) Is Nothing) Or (Not Intersect(Target, Range("A2")) Is Nothing) Then
        Debug.Print "HERE"
    End If
End Sub

intersect 检查Target 中的任何单元格是否为A1A2

【讨论】:

    猜你喜欢
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 2022-11-22
    • 2017-11-11
    相关资源
    最近更新 更多