Excel - запуск макроса при вводе данных в ячейку

Если пользователь желает запустить макрос в Microsoft Excel, когда обнаруживается, что ячейка D10 заполнена, событие изменения рабочего листа должно использоваться в рабочем листе Excel, а не в модуле. //www.4shared.com/file/89145449/43c8c38/Change_Value_of D10.htlml загружается и устанавливается исходный код, который использовался для запуска макроса . Значок Visual Basic на вкладке Разработчик выбран для Microsoft Excel-2007. После просмотра рабочего листа, на котором нужно выполнить код, раскрываются декларации и общие сведения и выбирается рабочий лист. Слово «Выбор» удаляется из «Private Sub Worksheet_SelectionChange» в окне кода. Для изменения значения в ячейке D10 $ D $ 10 - это целевой адрес, который установлен. Это, в свою очередь, приведет к событию изменения рабочего листа «Вызов» макроса .

  • вопрос
  • Решение
  • Заметка

вопрос

У меня есть макрос, который запускается, когда пользователь нажимает кнопку. Вместо этого я хочу, чтобы макрос запускался при заполнении ячейки D10. Данные для D10 поступают из раскрывающегося списка «Проверка данных», если это имеет значение. Это должно быть легко, но я не могу понять это.

Решение

Вы можете сохранить свой макрос в первом модуле. Вы должны использовать событие изменения рабочего листа в самом рабочем листе, а не в модуле. Позвольте мне объяснить: я предоставлю файл, чтобы согласиться с объяснением. На листе диапазон A5: A25 заполнен числами. Если вы введете числовое значение в ячейку D10, диапазон G5: G10 скопирует то, что находится в A5: A25. Если вы удалите значение в D10, то содержимое диапазона G5: G10 будет удалено.

//www.4shared.com/file/89145449/43c8c38/Change_Value_of_D10.html

Каким бы ни был ваш исходный код для запуска макроса, верните его в исходную форму.

Поскольку вы используете Excel 2007, вам нужно сделать следующее:

  • 1) Нажмите на вкладку Разработчик.
  • 2) Нажмите на значок Visual Basic.
  • 3) В левом окне панели дважды щелкните по листу, где вам нужен код для запуска.
  • 4) Теперь в верхней части окна кода вы увидите (Общие) с раскрывающимся списком и (Объявления) с раскрывающимся списком.
  • 5) Нажмите раскрывающееся меню (Общие) и выберите «Рабочий лист».
  • 6) Теперь в окне кода вы увидите Private Sub Worksheet_SelectionChange (ByVal Target As Range)
  • 7) Убрать слово «Выбор». Вы хотите удалить «Выбор», потому что это означает, что при нажатии на ячейку на рабочем листе что-то произойдет. Вы не хотите этого, вы хотите ввести значение в D10. Теперь он должен прочитать Private Sub Worksheet_Change (ByVal Target As Range)
  • 8) Это где вы хотите код ...

 Private Sub Worksheet_Change (цель ByVal в качестве диапазона)

Если Target.Address = "$ D $ 10", то

Позвоните в MyMacro

End If

End Sub

  • 9) Это означает, что когда вы изменяете значение в D10, событие изменения рабочего листа будет вызывать ваш макрос.

Заметка

Спасибо WutUp WutUp за этот совет на форуме.
Предыдущая статья Следующая статья

Лучшие советы