Как да разрешите грешка VBA „Открито двусмислено име“

Anonim

Докато работите с VBA, може да получите тази изскачаща грешка, когато стартирате процедурата. Тази грешка казва „Открито е двусмислено име: име на процедурата". В тази статия ще научим защо възниква тази грешка и как можем да я разрешим.

Защо тази грешка?

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

Как да решим този проблем?

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

Тази грешка обикновено се появява при работа с събития в Excel.

Да предположим, че работите върху sheet1 със събития на работен лист. Сега искате да задействате съобщение веднага щом потребителят промени клетъчния избор. В този случай ще използвате събитието Worksheet_SelectionChange ().

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

Private Sub Worksheet_SelectionChange (ByVal Target As Range) MsgBox "Hi" End Sub Private Sub Worksheet_SelectionChange (ByVal Target As Range) Application.InputBox ("кой сте вие?") End Sub 

Сега, когато промените селекцията на листа, това получавате.

Сега, когато промените селекцията на листа, това получавате.

Вижте, работата е, че Excel не позволява това. Не можете да имате две или повече еднакви имена на функции в модул. Дори не в Събития. Това води до неяснота.

Сега, ако искате да направите различна задача за едно и също събитие, тогава трябва да поставите този код в една и съща процедура за едно събитие. Използвайте условия, за да контролирате събитията.

Събитието по -долу ще работи перфектно. Когато потребителят смени избора на клетка на листа1, той ще изведе съобщение за здравей и след това ще зададе на потребителя въпрос с поле за въвеждане.

Private Sub Worksheet_SelectionChange (ByVal Target As Range) MsgBox "Hi" Application.InputBox ("кой сте вие?") End Sub 

Сега, когато неяснотата е изчезнала, събитието ще работи перфектно и няма да получите грешка с двусмислено име за грешка.

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

Справка Не е ли валидна грешка в Excel и как да я решим? : Тази грешка възниква, когато се позоваваме на обект или местоположение, които не съществуват или са се променили. За да разрешим този проблем, ние проследяваме препратката.

Събитията в Excel VBA | В Excel има седем вида събития. Всяко събитие се занимава в различен обхват. Събитието за кандидатстване се занимава с ниво на работна книга. Работна книга на ниво лист. Събитие на работен лист на ниво Range.

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

Събития от работна книга, използващи VBA в Microsoft Excel | Събитията от работната книга работят върху цялата работна книга. Тъй като всички листове са част от работната книга, тези събития работят и върху тях.

Предотвратяване на автоматичен макрос/изпълнение на макрос с помощта на VBA в Microsoft Excel | За да предотвратите изпълнението на макроса auto_open, използвайте клавиша shift.

Диаграми на обектни събития с помощта на VBA в Microsoft Excel | Диаграмите са сложни обекти и има няколко компонента, които сте прикрепили към тях. За да направим Chart Events използваме модула Class.

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

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

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

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

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