În timp ce lucrați cu VBA, este posibil să primiți această fereastră popup atunci când executați procedura. Această eroare spune „Numele ambigu detectat: numele procedurii". În acest articol, vom afla de ce apare această eroare și cum o putem rezolva.
De ce această eroare?
Ei bine, așa cum spune pop-up-ul, motorul VBA a detectat una sau mai multe proceduri cu același nume în același modul. Acest lucru a dus la confuzie pentru motorul VBA. Prin urmare, VBA raportează eroarea.
Cum se rezolvă această problemă?
Este ușor. Nu aveți două proceduri identice cu același nume într-un singur modul. Fie schimbați numele procedurii, ștergeți-o sau duceți-o la un alt modul.
Această eroare apare de obicei în timp ce lucrați cu evenimente în Excel.
Să presupunem că lucrați la sheet1 cu evenimente de worksheet. Acum doriți să declanșați un mesaj imediat ce utilizatorul modifică selecția celulei. În acest caz, veți utiliza evenimentul Worksheet_SelectionChange ().
Acum, din nou, doriți să puneți câteva întrebări utilizatorilor, deoarece utilizatorul schimbă selecția celulei. Apoi va trebui să utilizați același eveniment. Acum ați scris două proceduri de gestionare a evenimentelor pentru sarcini diferite.
Private Sub Worksheet_SelectionChange (ByVal Target As Range) MsgBox "Hi" End Sub Private Private Worksheet_SelectionChange (ByVal Target As Range) Application.InputBox ("cine ești?") End Sub
Acum, când schimbați selecția de pe foaie, acesta este ceea ce obțineți.
Acum, când schimbați selecția de pe foaie, acesta este ceea ce obțineți.
Vezi, chestia este că Excel nu permite acest lucru. Nu puteți avea două sau mai multe nume identice de funcții într-un modul. Nici măcar în Evenimente. Aceasta duce la ambiguitate.
Acum, dacă doriți să efectuați o sarcină diferită la același eveniment, atunci trebuie să puneți codul respectiv în aceeași procedură de eveniment. Folosiți condiții pentru a controla evenimentele.
Evenimentul de mai jos va funcționa perfect. Când utilizatorul schimbă selecția de celule de pe foaia 1, va apărea un mesaj hi și, după aceea, va pune utilizatorului o întrebare cu o casetă de intrare.
Private Sub Worksheet_SelectionChange (ByVal Target As Range) MsgBox "Bună" Application.InputBox ("cine ești?") End Sub
Acum că ambiguitatea a dispărut, evenimentul va funcționa perfect și nu veți mai primi din nou eroarea identificată de numele ambiguu eroare.
Deci, băieți, așa puteți rezolva eroarea de ambiguitate în Excel VBA. Sper că acest lucru a fost de ajutor. Dacă aveți îndoieli cu privire la acest articol sau la orice alt articol, întrebați-mă în secțiunea de comentarii de mai jos.
Referință Nu este o eroare validă în Excel și cum să o rezolvi? : Această eroare apare atunci când ne referim la un obiect sau locație care nu există sau s-a schimbat. Pentru a rezolva această problemă, urmărim referința.
Evenimente în Excel VBA | Există șapte tipuri de evenimente în Excel. Fiecare eveniment se ocupă într-un domeniu diferit. Aplicația Eveniment se ocupă de nivelul registrului de lucru. Caiet de lucru la nivel de foaie. Foaie de lucru Eveniment la nivel Range.
Foaia de lucru Evenimente în Excel VBA | Evenimentele foii de lucru sunt cu adevărat utile atunci când doriți ca macrocomenzile dvs. să ruleze atunci când apare un eveniment specificat pe foaie.
Evenimente din registrul de lucru folosind VBA în Microsoft Excel | Evenimentele din registrul de lucru funcționează pe întregul registru de lucru. Deoarece toate foile fac parte din registrul de lucru, aceste evenimente funcționează și pe ele.
Împiedicați executarea automată a unei macro / evenimente folosind VBA în Microsoft Excel | Pentru a preveni rularea macro-ului auto_open utilizați tasta Shift.
Diagrama evenimentelor obiectelor folosind VBA în Microsoft Excel | Diagramele sunt obiecte complexe și există mai multe componente pe care le-ați atașat la ele. Pentru realizarea evenimentelor grafice, folosim modulul Class.
Articole populare:
50 de comenzi rapide Excel pentru a vă crește productivitatea | Deveniți mai rapid la sarcina dvs. Aceste 50 de comenzi rapide vă vor face munca și mai rapidă pe Excel.
Funcția VLOOKUP în Excel | Aceasta este una dintre cele mai utilizate și populare funcții ale Excel, care este utilizată pentru a căuta valoarea din diferite intervale și foi.
COUNTIF în Excel 2016 | Numărați valorile cu condiții folosind această funcție uimitoare. Nu trebuie să vă filtrați datele pentru a număra o anumită valoare. Funcția Countif este esențială pentru a vă pregăti tabloul de bord.
Cum se utilizează funcția SUMIF în Excel | Aceasta este o altă funcție esențială a tabloului de bord. Acest lucru vă ajută să rezumați valori în condiții specifice.