Hur fixar jag 'Subscript Out of Range' i Visual Basic för applikationer?

Visual Basic for Applications (VBA) är en implementering av Visual Basic-programmeringsspråket utvecklat av Microsoft. VBA kan användas för att aktivera UDF: er, automatisera uppgifter och för åtkomst till WinAPI genom DLL-filer. Men nyligen har många rapporter kommit in där användare inte kan utföra vissa kommandon och en “Prenumeration utom räckhåll, fel 9”Pops upp medan du försöker göra det.

Vad orsakar "Subscript Out of Range" -felet i VBA?

Efter att ha fått flera rapporter från flera användare bestämde vi oss för att undersöka problemet och tog fram en uppsättning lösningar för att lösa det helt. Vi tittade också på orsakerna till att den utlöstes och listade dem enligt följande.

Nu när du har en grundläggande förståelse för problemets natur kommer vi att gå vidare mot lösningarna. Se till att du implementerar dessa i den specifika ordning som de presenteras för att undvika konflikter.

Lösning 1: Kontrollera matriser

Det är möjligt att du har definierat ett felaktigt värde för Array-elementet. Det rekommenderas därför att dubbelkontrollera det värde som du har definierat för Array-elementet och se till att det är rätt. Se också till att du kontrollerar deklarationen för arrayen och kontrollera övre och nedre gränsen. Om matriserna har fått en ny dimension, se till att använda LBound och UBound funktioner för att komma åt villkor. Kontrollera stavningen av variabelnamnet om indexet är en variabel.

Lösning 2: Ange antal element

I vissa fall är det möjligt att du kanske inte har definierat antalet element i din kod på grund av vilket felet utlöses. Det rekommenderas att du anger antalet element i matrisen med hjälp av Dämpa eller ReDim funktioner.

Lösning 3: Byta konstruktion

Detta fel utlöses vanligtvis när användaren anger en felaktig eller obefintlig samlingsmedlem. I stället för att specificera indexelementen rekommenderas därför att du närmar dig med “För varje ... Nästa”Konstruktion.

Lösning 4: Kontrollera nyckelnamn och index

I vissa fall är det möjligt att du kan ha använt en förkortad form av prenumerationen och det anger ett ogiltigt element. Därför rekommenderas att du använder en giltig nyckel namn och index för samlingen.

Facebook Twitter Google Plus Pinterest