Найти ячейки, значение которых изменилось - PullRequest
0 голосов
/ 25 июня 2018

У меня есть макрос, который должен срабатывать при изменении любой ячейки в диапазоне (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 голосов
/ 25 июня 2018

Я скопировал ваш измененный саб в электронную таблицу Excel 2013 и не вижу проблемы.

Если я введу несколько чисел в начале столбца S, затем выделю 3 несмежные ячейки и нажму «Удалить», тогда целевой адрес - это адреса трех ячеек. Вот скриншот.

enter image description here

Пожалуйста, опишите, как кто-то может повторить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...