Fixa abonnemang utanför räckvidd i Visual Basic för applikationer (VBA)



Uppdaterad april 2024: Sluta få felmeddelanden och sakta ner ditt system med vårt optimeringsverktyg. Hämta den nu på denna länk
  1. Ladda ned och installera reparationsverktyget här.
  2. Låt den skanna din dator.
  3. Verktyget kommer då reparera din dator.

VBA-prenumerationsfel utanför området uppstår eftersom objektet vi vill komma åt inte finns. Detta är en typ av fel i VBA-kodning och ett "Run Time Error 9". Det är viktigt att förstå begreppen för att skriva effektiv kod, och det är ännu viktigare att förstå felet i din VBA-kod för att felsöka koden effektivt.

Om du och ditt kodningsfel inte vet vad detta fel är när du är frånvarande.

En läkare kan inte ge läkemedel till sin patient utan att känna till sjukdomen. Medan läkaren och patienten vet att det finns en sjukdom (fel), är det viktigt att förstå sjukdomen (felet) som att hon ger henne medicinering. Om du förstår felet är det mycket lättare att hitta lösningen.

En annan orsak kan vara att du inte har en standardskrivare på din dator. Det finns flera lösningar för att lösa detta Runtime Error 9-problem, så prova dem alla i rätt ordning.

Lägga till en standardskrivare

  1. Anslut en skrivare till din dator, anslut nätsladden och slå på den.
  2. Gå till "Start"> "Kontrollpanelen"> "Skrivare och faxmaskiner".
  3. Klicka på “Lägg till skrivare” och följ instruktionerna på skärmen för att lägga till en standardskrivare.

Kontrollera matriserna

Det är möjligt att du har ställt in ett felaktigt värde för arrayelementet. Det rekommenderas därför att kontrollera det värde du har definierat för arrayelementet och se till att det är korrekt. Se också till att kontrollera tabelldeklarationen och kontrollera de övre och nedre gränserna. Om tabellerna har ändrats i storlek, se till att använda LBound- och UBound-funktionerna för att villkora åtkomst. Kontrollera stavningen för variabelns namn om indexet är en variabel.

Definiera antalet element

I vissa fall kanske du inte har definierat antalet element i din kod som utlöser felet. Det rekommenderas att ange antalet element i tabellen med funktionerna Dim eller ReDim.

Hur man undviker felmeddelandet "Out of Range Error Subscript" i VBA

Undvik att använda funktionerna integrerade i Excel: ActiveWorkbook, ActiveSheet och Selection: Ange returvärden och föredra kvalificerade uttryck.



Uppdatering april 2024:

Du kan nu förhindra PC -problem genom att använda det här verktyget, till exempel att skydda dig mot filförlust och skadlig kod. Dessutom är det ett bra sätt att optimera din dator för maximal prestanda. Programmet åtgärdar vanligt förekommande fel som kan uppstå på Windows -system - utan behov av timmar med felsökning när du har den perfekta lösningen till hands:

  • Steg 1: Ladda ner PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista - Microsoft Gold Certified).
  • Steg 2: Klicka på "Starta Scan"För att hitta Windows-registerproblem som kan orsaka problem med datorn.
  • Steg 3: Klicka på "Reparera allt"För att åtgärda alla problem.

ladda ner



Använd det integrerade bara en gång och endast i de mest externa makronen (under) och fånga när du startar makro, t.ex.

set wkb = ActiveWorkbook
set wks = ActiveSheet
Saltuppsättning = val
Under och i makron är dessa integrerade namn inte tillförlitliga, men returvärdena registreras, t.ex.

Ställ in wkb = Workbooks.add 'istället för Workbooks.add utan att ange ett returvärde.
wkb.Activate 'istället för Activeworkbook.Activate
Försök också till exempel använda kvalificerade uttryck

wkb.Sheets (“Sheet3”). name = “foo” ”istället för Sheets (“ Sheet3 ”). name =“ foo ”.
or

Ställ in newWks = wkb.Sheets.Add.
newWks.name = “bar” 'istället för ActiveSheet.name = “bar”.
Använd kvalificerade uttryck, t.ex.

newWks.name = “bar” "istället för" xyz.Select "följt av Selection.name =" bar ".
Dessa metoder fungerar generellt bättre, ger mindre förvirrande resultat, är mer robusta för refactoring (till exempel flytta kodlinjer inom och mellan metoder) och fungerar bättre i alla versioner av Excel. Till exempel ändras urvalet annorlunda från en version av Excel till en annan under makrorns körning.

Observera också att du antagligen kommer att upptäcka att att använda mer kvalificerade uttryck inte kräver att du aktiverar nästan lika många funktioner. (Detta kan betyda att skärmen blinkar mindre för användaren.) Så hela Windows (uttryck) raden. Aktivera kan helt enkelt raderas istället för att ersättas av wkb. Aktivera alls.

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/subscript-out-of-range-error-9



Expert Tips: Detta reparationsverktyg skannar arkiven och ersätter korrupta eller saknade filer om ingen av dessa metoder har fungerat. Det fungerar bra i de flesta fall där problemet beror på systemkorruption. Detta verktyg kommer också att optimera ditt system för att maximera prestanda. Den kan laddas ner av Klicka här