När du arbetar med VBA kan du få detta felmeddelande när du kör proceduren. Det här felet säger "Tvetydigt namn upptäckt: procedurens namn". I den här artikeln lär vi oss varför detta fel uppstår och hur vi kan lösa det.
Varför detta fel?
Som popupen säger har VBA -motorn upptäckt en eller flera procedurer med samma namn i samma modul. Detta har lett till förvirring för VBA -motorn. Därför rapporterar VBA felet.
Hur löser man detta problem?
Det är lätt. Har inte två samma procedurer med samma namn i en enda modul. Antingen ändra procedurens namn, ta bort det eller ta det till någon annan modul.
Detta fel dyker vanligtvis upp när du arbetar med händelser i Excel.
Låt oss säga att du arbetar på sheet1 med kalkylbladshändelser. Nu vill du utlösa ett meddelande så snart användaren ändrar cellvalet. I så fall kommer du att använda Worksheet_SelectionChange () -händelsen.
Nu vill du återigen ställa några frågor till användarna när användaren ändrar cellvalet. Då måste du använda samma händelse. Nu har du skrivit två procedurer för händelsehantering för olika uppgifter.
Private Sub Worksheet_SelectionChange (ByVal Target As Range) MsgBox "Hi" End Sub Private Sub Worksheet_SelectionChange (ByVal Target As Range) Application.InputBox ("vem är du?") Avsluta Sub
Nu när du ändrar markeringen på arket är det här du får.
Nu när du ändrar markeringen på arket är det här du får.
Se, saken är att Excel inte tillåter detta. Du kan inte ha två eller flera samma namn på funktioner i en modul. Inte ens i evenemang. Det leder till oklarhet.
Om du nu vill utföra en annan uppgift på samma händelse måste du lägga den koden i samma händelseprocedur. Använd villkor för att styra händelserna.
Händelsen nedan kommer att fungera perfekt. När användaren ändrar cellvalet på arket1 kommer det upp ett hi -meddelande och efter det kommer det att ställa en fråga till användaren med en inmatningsruta.
Private Sub Worksheet_SelectionChange (ByVal Target As Range) MsgBox "Hej" Application.InputBox ("vem är du?") Avsluta Sub
Nu när oklarheten är borta, kommer händelsen att fungera perfekt och du kommer inte att få felmedvetet namn upptäckt fel igen.
Så ja killar, så här kan du lösa oklarhetsfelet i Excel VBA. Jag hoppas att detta var till hjälp. Om du har några tvivel angående denna artikel eller någon annan artikel, fråga mig i kommentarfältet nedan.
Referens är inte ett giltigt Excel -fel och hur löser man det? : Det här felet uppstår när vi hänvisar till ett objekt eller en plats som inte finns eller har ändrats. För att lösa detta problem spårar vi referensen.
Händelserna i Excel VBA | Det finns sju typer av händelser i Excel. Varje evenemang handlar om ett annat omfång. Application Event behandlar arbetsboksnivå. Arbetsbok på arknivå. Arbetsbladshändelse på intervallnivå.
Arbetsbladshändelser i Excel VBA | Arbetsbladshändelserna är verkligen användbara när du vill att dina makron ska köras när en viss händelse inträffar på arket.
Arbetsbokshändelser med VBA i Microsoft Excel | Arbetsbokhändelserna fungerar på hela arbetsboken. Eftersom alla blad är en del av arbetsboken fungerar dessa händelser också på dem.
Förhindra att ett automatiskt makro/händelsemakro körs med VBA i Microsoft Excel | För att förhindra körning av auto_open -makro, använd shift -tangenten.
Kartlägg objekthändelser med VBA i Microsoft Excel | Diagrammen är komplexa objekt och det finns flera komponenter som du bifogade dem. För att göra diagramhändelserna använder vi klassmodulen.
Populära artiklar:
50 Excel -genvägar för att öka din produktivitet | Bli snabbare på din uppgift. Dessa 50 genvägar gör ditt arbete ännu snabbare i Excel.
VLOOKUP -funktionen i Excel | Detta är en av de mest använda och populära Excel -funktionerna som används för att leta upp värde från olika intervall och ark.
COUNTIF i Excel 2016 | Räkna värden med förhållanden med denna fantastiska funktion. Du behöver inte filtrera dina data för att räkna specifikt värde. Countif -funktionen är avgörande för att förbereda din instrumentpanel.
Hur man använder SUMIF -funktionen i Excel | Detta är en annan viktig instrumentpanel. Detta hjälper dig att summera värden på specifika förhållanden.