Използване на събитие за смяна на работен лист за стартиране на макрос, когато се направи някаква промяна

Съдържание:

Anonim

Ако сте тук, вероятно искате да научите как да стартирате подпрограма всеки път, когато се направи промяна в конкретен лист. Тази статия ще научи точно това. Така че нека започнем.

Синтаксисът за манипулатора на събития за смяна на работния лист е:

Private Sub worksheet_change (ByVal Target As Range) 'вашият код' 'End Sub 

Този код трябва да бъде записан в обект на работен лист, за да работи, а не в нормален модул.

Private Sub worksheet_change (ByVal Target As Range) Msgbox "Актуализирахте нещо в този лист" End Sub 

Ако имате този код на лист1 и пишете или изтривате нещо в листа1, масажът ще излезе, че „Актуализирахте нещо в този лист“.

Няма да работи в нормални модули. Но можете да извикате подпрограми от всеки модул. Ние ще направим същото в тази сесия.


Сценарий:

Стартирайте макроса на Excel, ако на работен лист е направена някаква промяна

Така че, да речем, че имаме макрос, който променя цвета на клетките въз основа на някакво условие. Точно като условното форматиране на Excel. Единствената разлика е, че цветът на клетките се променя, когато изпълняваме този VBA код с помощта на бутон или команда за изпълнение, а не когато стойностите се променят. Искаме макросът да се изпълнява при всяка промяна в листа. Тук VBA Events ще ви помогне. Сега, за да направим това, ще използваме събитие за смяна на работен лист.

Следвай тези стъпки:

  • Отидете в Explorer Explorer и щракнете двукратно върху листа, на който искате да задействате събитието worksheet.change. Искам да задействам събитието, когато са направени някои промени на Sheet2, затова щраквам двукратно върху Sheet2. Можете също да щракнете с десния бутон на мишката и да щракнете върху кода за изглед, за да отворите областта за писане на кодове за обекти от лист. В кодовата област напишете този ред код.
    Private Sub Worksheet_Change (ByVal Target As Range) End Sub 

    worksheet_change (Target as Range) е запазена подпрограма, която се изпълнява, когато се направи промяна в кода, съдържащ лист.

    Когато ще напишете този код, ще видите как обектът се променя в работния лист. Вижте падащото меню в горния ляв ъгъл. В горния десен падащ списък събитието е „промяна“.
    Ако използвате падащото меню и изберете работния лист в лявото падащо меню, всички налични събития ще бъдат показани в дясното падащо меню. Независимо от падащото меню, което изберете, кодът за това събитие ще бъде записан автоматично. Просто трябва да го попълните с вашите персонализирани подпрограми.

  • Сега просто поставете кода си в този сегмент. Искам да извикам моята подпрограма, която е в модул. Затова просто наричам тази подпрограма в този манипулатор на събития на работен лист. Моята подпрограма е FormatUsingVBA () в Module1
    Private Sub worksheet_change (ByVal Target As Range) Формат на повикване Използвайки VBA End Sub

Сега, когато правим промяна в sheet2, ще се изпълнява макросът FromatUsingVBA.

Така че да, момчета, ето как може да накарате да стартирате VBA скрипт, когато лист променя съдържанието си, като използвате манипулатора на събитие за смяна на работен лист. Надявам се да е било полезно. Ако имате въпроси относно този манипулатор на събития, споменете го в секцията за коментари.

Най -простият VBA код за маркиране на текущия ред и колона с помощта| Използвайте този малък VBA фрагмент, за да маркирате текущия ред и колона на листа.

Събития на работния лист в Excel VBA| Събитието на работния лист е наистина полезно, когато искате вашите макроси да се изпълняват, когато на листа се появи определено събитие.

Стартирайте макрос, ако на листа са направени промени в посочен диапазон| За да стартирате вашия макро код, когато стойността в определен диапазон се промени, използвайте този VBA код. Той открива всяка промяна, направена в определения диапазон и ще задейства събитието.

Популярни статии:

50 преки пътища в Excel за повишаване на вашата производителност | Бъдете по -бързи в задачата си. Тези 50 преки пътища ще ви накарат да работите още по -бързо в Excel.

Функцията VLOOKUP в Excel | Това е една от най -използваните и популярни функции на excel, която се използва за търсене на стойност от различни диапазони и листове.

COUNTIF в Excel 2016 | Пребройте стойностите с условия, използвайки тази невероятна функция. Не е необходимо да филтрирате данните си, за да преброите конкретна стойност. Функцията Countif е от съществено значение за подготовката на вашето табло.

Как да използвате функцията SUMIF в Excel | Това е друга основна функция на таблото. Това ви помага да обобщите стойностите при конкретни условия.