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, подія зміни аркуша "Викличе" ваш макрос.

Примітка

Завдяки WutUp WutUp для цього відгуку на форумі.
Попередня Стаття Наступна Стаття

Кращі Поради