изменить событие рабочего листа, когда пользователь не отменяет выбор ячейки

У меня очень простое событие Worksheet_Change так что если какая-либо ячейка на листе меняет ячейку на другом листе, меняется на 1. Я использую эту ячейку в качестве флага, чтобы узнать, были ли внесены какие-либо изменения в рабочий лист. У меня есть форма, которую я назначил макросу при выборе. Макрос проверяет, были ли сделаны какие-либо изменения (если эта ячейка установлена ​​в 1), и если это мой код срабатывает.

Проблема в том, что, например,

  • ячейка A1 содержит имя Bob.
  • Пользователь выбирает ячейку A1 и меняет имя от Боба до Стива
  • но затем вместо того, чтобы сначала щелкнуть ячейку, а затем щелкнуть фигуру, они непосредственно попали в форму, не отбрасывая выделение ячейки.

Проблема заключается в том, что событие workheet_change не запускается до тех пор, пока не завершится мой макрос. Таким образом, пока макрос работает, флаг установлен в 0, но как только это делается, флаг устанавливается в 1.

Любые идеи о том, как остановить это?

 Private Sub Worksheet_Change(ByVal Target As Range) sheets("Cond For").Range("A1").Value = 1 End Sub Sub saveData() if sheets("Cond For").Range("A1").Value = 1 Then 'my code End if End Sub 

Используйте две процедуры вроде этого (переименуйте Sheet1.Reallysave в кодовое имя и название подпрограммы):

 Sub SaveData() Application.Ontime Now, "Sheet1.ReallySave" End Sub Sub ReallySave() 'Your current code End Sub 
  • Функция SUMIF: сумма, если ячейка содержит определенное имя
  • Excel Analytics: замените значения во втором столбце
  • application.worksheetfunction.sum не оценивает строку
  • Получите да, нет или ничего из ячейки в Excel
  • Функция Excel для объединения ячеек и двойных кавычек
  • Объединение функций в Excel
  • Формула для образца в excel
  • Как выполнить нечеткое совпадение с надстройкой Excel с упором на конкретное ключевое слово
  • Нужна помощь в оптимизации функции отображения vba
  • Excel VBA - поиск наивысших и последующих значений в диапазоне
  • как я могу сравнить 3 разных столбца данных в 3 разных листах и ​​выделить их в excel 2007?
  • Interesting Posts

    regex для Excel для удаления всех, кроме определенных символов, после определенного символа?

    Столбец таблицы разделен по значению на другие столбцы и его значения

    Проблема удаления данных таблицы в Excel

    как преобразовать список в обратном порядке на листе excel

    Передать переменное имя, присвоенное переменному, для сортировки VBA

    Формат даты, который гарантированно распознается Excel

    Как удалить все флажки в диапазоне ячеек

    Переменная объекта не установлена ​​в комментариях в ячейках

    Установите таблицу диаграмм на переменную рабочего листа

    Мой код vba не зацикливается до моего желаемого номера. но если я положил его в excel и использовал решатель, он работает

    Подсчет значений (countif) для всех столбцов на основе их значений

    Использование переменной в виде столбца

    среднее из последних x дней (начало последней заполненной ячейки)

    Как вернуть datetime в Excel, когда таблица SQL имеет только время?

    Как вычислить текущую дату и время для отдельной ячейки в excel?

    Давайте будем гением компьютера.