Excel - Запуск макросу, коли дані вводяться в комірку
Якщо користувач бажає запустити макрос у Microsoft Excel, коли буде знайдено клітинку D10, подія зміни аркуша повинна використовуватися в робочому аркуші Excel, а не в модулі. Завантажено файл D10.htlml і встановлено оригінальний код, який був використаний для запуску макросу . Значок Visual Basic на вкладці "Розробник" вибрано для Microsoft Excel-2007. Після перегляду робочого аркуша, де бажано запустити код, декларації та загальні дані випадають, а лист вибирається. Слово "Виділення" видаляється з "Приватного підзаголовка_селекції_зменника" у вікні коду. Для зміни значення в комірці D10 '$ D $ 10' є цільовою адресою, яка встановлена. Це, у свою чергу, змусить робочий лист змінити подію "Виклик" макросу .
- Проблема
- Рішення
- Примітка
Проблема
У мене є макрос, який запускається, коли користувач натискає кнопку. Замість цього, я хочу, щоб макрос запускався, коли заповнюється осередок D10. Дані для D10 надходять з випадаючого валідації даних, якщо це має значення. Це має бути легким, але я не можу зрозуміти.Рішення
Ви можете зберегти свій макрос в модулі 1. Необхідно використовувати подію зміни аркуша в робочому листі, а не модуль. Дозвольте мені пояснити: я дам файл, який буде узгоджуватися з поясненням. На робочому аркуші діапазон 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) Тепер у вікні коду ви побачите Приватний робочий аркуш_СелекціяChange (ByVal Target As Range)
- 7) Видалити слово "Вибір". Ви хочете видалити "Виділення", тому що це означає, що коли ви клацаєте по клітці на робочому аркуші, щось станеться. Ви не хочете, щоб ви ввели значення в D10. Тепер вона повинна читати Приватний робочий аркуш_Зміни (ByVal Target As Range)
- 8) Тут ви хочете код ...
Приватний робочий аркуш_зміна_зміниЯкщо Target.Address = "$ D $ 10" Тоді
Телефонуйте MyMacro
End If
End Sub
- 9) Значення, коли ви змінюєте значення в D10, подія зміни аркуша "Викличе" ваш макрос.