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, событие изменения рабочего листа будет вызывать ваш макрос.