查找其值已更改的单元格

时间:2018-06-25 07:24:40

标签: excel excel-vba vba

我有一个宏,当范围(s1:s100)中的任何单元格发生变化时,应触发该宏。范围s1:s100由另一个宏填充,并且值不断变化

我有下面的代码,当仅更改范围中的一个单元格时,它可以正常工作。如果同时更改多个单元格,则该单元不起作用。一次更改多个单元格时,我收到消息“无变化”。

Sub Worksheet_Change(ByVal Target As Range)
       Dim keyscells as Range
       Set KeyCells = Range("S1:S100")
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
               Is Nothing Then
      msgbox Target.Address
    'execute my macro
    else
       msgbox 'no change'
    end if
end sub

任何帮助表示赞赏!

添加了更多信息 当我同时编辑多个单元格时,例如说S1 S4和S8,它会说S1已更改(只需选择第一个)。但是我需要确定所有三个已更改的单元格。

谢谢

Valli

1 个答案:

答案 0 :(得分:0)

我已将修改后的子项目复制到Excel 2013电子表格,但看不到问题。

如果我在col S的开头输入一些数字,则选择3个非连续的单元格,然后按Delete键,则目标地址就是3个单元格的地址。这是屏幕截图。

enter image description here

请提供有关他人如何复制您的问题的步骤。