Når du jobber med VBA, kan du få denne feilmeldingen når du kjører prosedyren. Denne feilen sier "Tvetydig navn oppdaget: prosedyrenavn". I denne artikkelen vil vi lære hvorfor denne feilen oppstår og hvordan vi kan løse den.
Hvorfor denne feilen?
Som popupen sier, har VBA -motoren oppdaget en eller flere prosedyrer med samme navn i samme modul. Dette har ført til forvirring for VBA -motoren. Derfor rapporterer VBA feilen.
Hvordan løse dette problemet?
Det er lett. Ikke ha to samme prosedyrer med samme navn i en enkelt modul. Enten endre navnet på prosedyren, slett det eller ta det til en annen modul.
Denne feilen dukker vanligvis opp mens du arbeider med hendelser i Excel.
La oss si at du jobber med ark1 med regnearkhendelser. Nå vil du utløse en melding så snart brukeren endrer cellevalget. I så fall vil du bruke Worksheet_SelectionChange () -hendelsen.
Nå vil du stille noen spørsmål til brukerne når brukeren endrer cellevalget. Da må du bruke den samme hendelsen. Nå har du skrevet to hendelseshåndteringsprosedyrer for forskjellige oppgaver.
Private Sub Worksheet_SelectionChange (ByVal Target As Range) MsgBox "Hi" End Sub Private Sub Worksheet_SelectionChange (ByVal Target As Range) Application.InputBox ("hvem er du?") Slutt Sub
Når du endrer utvalget på arket, er dette det du får.
Når du endrer utvalget på arket, er dette det du får.
Se, saken er at Excel ikke tillater dette. Du kan ikke ha to eller flere samme navn på funksjoner i en modul. Ikke engang i Events. Det fører til uklarhet.
Hvis du vil gjøre en annen oppgave på den samme hendelsen, må du sette den koden i den samme hendelsesprosedyren. Bruk betingelser for å kontrollere hendelsene.
Arrangementet nedenfor vil fungere helt fint. Når brukeren endrer cellevalget på arket1, vil det dukke opp en hei -melding, og deretter vil det stille brukeren et spørsmål med en inndataboks.
Private Sub Worksheet_SelectionChange (ByVal Target As Range) MsgBox "Hei" Application.InputBox ("hvem er du?") Slutt Sub
Nå som uklarheten er borte, vil hendelsen fungere helt fint, og du vil ikke få feilen tvetydig navn oppdaget feil igjen.
Så ja gutta, dette er hvordan du kan løse tvetydighetsfeilen i Excel VBA. Jeg håper dette var nyttig. Spør meg i kommentarfeltet nedenfor hvis du er i tvil om denne artikkelen eller en annen artikkel.
Referanse er ikke gyldig Excel -feil og hvordan løser jeg det? : Denne feilen oppstår når vi refererer til et objekt eller et sted som ikke eksisterer eller har endret seg. For å løse dette problemet sporer vi referansen.
Hendelsene i Excel VBA | Det er syv typer hendelser i Excel. Hver hendelse har et annet omfang. Application Event omhandler arbeidsboknivå. Arbeidsbok på arknivå. Arbeidsarkhendelse på områdenivå.
Regnearket Hendelser i Excel VBA | Regnearkhendelsene er veldig nyttige når du vil at makroene skal kjøres når en spesifisert hendelse oppstår på arket.
Arbeidsbokhendelser ved bruk av VBA i Microsoft Excel | Arbeidsbokhendelsene fungerer på hele arbeidsboken. Siden alle arkene er en del av arbeidsboken, fungerer disse hendelsene også på dem.
Forhindre at en automatisk makro/hendelsesmakro kjøres ved hjelp av VBA i Microsoft Excel | For å forhindre kjøring av auto_open -makroen, bruk skift -tasten.
Kartlegg objekthendelser ved hjelp av VBA i Microsoft Excel | Diagrammene er komplekse objekter, og det er flere komponenter du har festet dem til. For å lage diagramhendelsene bruker vi klassemodulen.
Populære artikler:
50 Excel -snarveier for å øke produktiviteten | Bli raskere på oppgaven din. Disse 50 snarveiene vil gjøre arbeidet ditt enda raskere i Excel.
VLOOKUP -funksjonen i Excel | Dette er en av de mest brukte og populære funksjonene til excel som brukes til å slå opp verdi fra forskjellige områder og ark.
COUNTIF i Excel 2016 | Tell verdier med betingelser ved hjelp av denne fantastiske funksjonen. Du trenger ikke å filtrere dataene dine for å telle spesifikk verdi. Countif -funksjonen er avgjørende for å forberede dashbordet.
Slik bruker du SUMIF -funksjonen i Excel | Dette er en annen viktig funksjon på dashbordet. Dette hjelper deg med å oppsummere verdier på spesifikke forhold.