Excel-ის გამოწერის დიაპაზონის მიღმა შეცდომა VBA-ში (5 გადაწყვეტილებით)

  • გააზიარეთ ეს
Hugh West

Სარჩევი

ამ სტატიაში ჩვენ გაჩვენებთ Excel-ში VBA შეცდომის „ Subscript out of Range “ მიზეზებს და როგორ მოვაგვაროთ ისინი.

ჩამოტვირთეთ პრაქტიკის შაბლონი

შეგიძლიათ ჩამოტვირთოთ Excel-ის უფასო პრაქტიკის შაბლონი აქედან.

Subscript Out of Range Error in VBA.xlsm

რა არის გამოწერის დიაპაზონის მიღმა შეცდომა VBA-ში?

VBA Subscript დიაპაზონის გარეთ შეცდომა ჩნდება, როდესაც ვცდილობთ შევიდეთ რომელიმე არარსებულ წევრზე ან მასივის არარსებულ კოლექციაზე Excel-ში. ეს არის „ Run-Time Error 9 “ ტიპის შეცდომა VBA Excel-ში კოდირებაში.

შეცდომა ჩვეულებრივ ასე გამოიყურება,

5 მიზეზი VBA-ში გამოწერის დიაპაზონის მიღმა შეცდომის გადაწყვეტით

ეს განყოფილება განიხილავს -ის წარმოშობის 5 ყველაზე გავრცელებულ მიზეზს გამოწერის დიაპაზონის მიღმა შეცდომა და რა არის მისი გადაჭრის გზები.

1. გამოწერის დიაპაზონის მიღმა შეცდომა VBA-ში არარსებული სამუშაო წიგნისთვის

როდესაც ცდილობთ შეხვიდეთ Excel-ის სამუშაო წიგნში, რომელიც არ არის გახსნილი, თქვენ მიიღებთ შეცდომას „ გამოწერა დიაპაზონის გარეთ “.

თუ ჩვენ ვცდილობთ გაშვებას ზემოთ ნაჩვენები კოდის, ჩვენ მივიღებთ შეცდომას, რადგან არ არსებობს Excel-ის სამუშაო წიგნი სახელად „ გაყიდვები ”, რომელიც ამჟამად ღიაა.

გამოსავალი

ამ შეცდომის მოსაგვარებლად ჯერ გახსენით Excel სამუშაო წიგნი, რომელზეც გსურთ წვდომა და შემდეგ გაუშვით მაკრო.

2. გამოწერის დიაპაზონის მიღმა შეცდომა VBA-ში არარსებულისთვისსამუშაო ფურცელი

როდესაც ცდილობთ შეხვიდეთ სამუშაო ფურცელზე, რომელიც არ არსებობს Excel-ის სამუშაო წიგნში, თქვენ ასევე მიიღებთ შეცდომას „ გამოწერა დიაპაზონის გარეთ VBA-ში. .

თუ ზემოთ ნაჩვენები კოდის გაშვებას ვცდილობთ, მივიღებთ შეცდომას, რადგან არ არის „ Sheet2 ” სამუშაო ფურცელი ხელმისაწვდომია ჩვენს სამუშაო წიგნში.

გადაწყვეტა

ამ შეცდომის მოსაგვარებლად, თქვენ უნდა გქონდეთ Excel ფურცელი, რომელზეც გსურთ წვდომა გაშვებულ სამუშაო წიგნში და შემდეგ გაუშვით მაკრო.

3. გამოწერის დიაპაზონის მიღმა შეცდომა VBA-ში განუსაზღვრელი მასივის ელემენტებისთვის

თუ არ განსაზღვრავთ დინამიური მასივის სიგრძეს სიტყვა DIM ან REDIM Excel-ში VBA , შემდეგ მიიღებთ შეცდომას „ გამოწერა დიაპაზონის გარეთ “.

ზემოთ კოდში, ჩვენ გამოვაცხადეთ მასივი განზომილებაში 5-დან 10-მდე, მაგრამ მივმართეთ მე-3 ინდექსის ხელმოწერას, რომელიც 5-ზე დაბალია.

გამოსავალი

ამის გადასაჭრელად გამოაცხადეთ ინდექსი მასივის განზომილებას შორის.

ეს ნაწილი კოდის e მშვენივრად მუშაობს, რადგან აქ ჩვენ მივმართეთ 5-ის ინდექსის ხელმოწერას, რომელიც არის 5-დან 10-მდე დიაპაზონში.

4. გამოწერის დიაპაზონის გარეთ შეცდომა VBA-ში არასწორი კოლექციისთვის/ მასივი

როდესაც ხელმოწერა უფრო დიდია ან მცირეა, ვიდრე შესაძლო ხელმოწერის დიაპაზონი, მაშინ წარმოიქმნება შეცდომა გამოწერის დიაპაზონის გარეთ .

<. 3>

შეხედეთ ზემოთ მოცემულ მაგალითს, ჩვენგამოაცხადა ცვლადი მასივად, მაგრამ საწყისი და დასასრული წერტილის მინიჭების ნაცვლად, ჩვენ პირდაპირ მივანიშნეთ პირველი მასივი 20 მნიშვნელობით.

Solution

გამოვასწოროთ ეს პრობლემა, ჩვენ უნდა მივცეთ მასივის სიგრძე საწყისი და დასასრული წერტილით.

ეს კოდი არ იძლევა შეცდომას, რადგან ახლა ჩვენ გამოვაცხადეთ მასივი. საწყისი წერტილით 1 და ბოლო წერტილით 5.

5. გამოწერის არეალის გამოტოვების შეცდომა VBA-ში სკრიპტისთვის

თუ იყენებთ სტენოგრამას subscript და ის ეხება არასწორ ელემენტს, შემდეგ თქვენ მიიღებთ შეცდომას „ Subscript out of range “ Excel-ში VBA . მაგალითად, [A2] არის სტენოგრამა ActiveSheet.Range(A2) .

Solution

გამოსწორება ამ შემთხვევაში, თქვენ უნდა გამოიყენოთ სწორი გასაღების სახელი და ინდექსი კოლექციისთვის. იმის ნაცვლად, რომ დაწეროთ ActiveSheet.Range(A2) , შეგიძლიათ უბრალოდ დაწეროთ [ A2 ].

Excel-ის გამოწერის უპირატესობები დიაპაზონის გარეთ შეცდომის VBA-ში

  • VBA გამოწერის საზღვრებს გარეთ შეცდომა ან „ Run-Time Error 9 “ ნამდვილად სასარგებლოა შეცდომის პოზიციის დასადგენად, სადაც ის მოხდა. VBA კოდში.
  • ეს შეცდომა მომხმარებლებს ეხმარება იპოვონ შეცდომის ტიპი, რათა შეამოწმონ და მოძებნონ გადაწყვეტილებები შეცდომის კოდის მიხედვით.

რაც უნდა გვახსოვდეს

  • რადგან ეს შეცდომა აგროვებს კოდის თითოეულ საფეხურს, რათა მოგვმართოს ზუსტად რომელი ნაწილიკოდი, რომლისთვისაც ჩვენ რეალურად გვჭირდება ქმედებები, ამიტომ სჯობს კოდის თითოეული სტრიქონი სათითაოდ შევადგინოთ F8 კლავიშზე დაჭერით, თუ კოდის უზარმაზარი ხაზი გაქვთ.

დასკვნა

ამ სტატიამ გაჩვენა Excel-ის Subscript დიაპაზონის გარეთ შეცდომის მიზეზები და გადაწყვეტილებები VBA. იმედი მაქვს, რომ ეს სტატია თქვენთვის ძალიან სასარგებლო იყო. მოგერიდებათ დაუსვათ ნებისმიერი შეკითხვა თემასთან დაკავშირებით.

ჰიუ ვესტი არის Excel-ის ძალიან გამოცდილი ტრენერი და ანალიტიკოსი, რომელსაც აქვს 10 წელზე მეტი გამოცდილება ინდუსტრიაში. მას აქვს ბაკალავრის ხარისხი ბუღალტერიასა და ფინანსებში და მაგისტრის ხარისხი ბიზნესის ადმინისტრირებაში. ჰიუს აქვს სწავლების გატაცება და შეიმუშავა სწავლების უნიკალური მიდგომა, რომელიც ადვილად გასაგები და გასაგებია. მისი ექსპერტი Excel-ის ცოდნა დაეხმარა ათასობით სტუდენტს და პროფესიონალს მთელს მსოფლიოში, გაეუმჯობესებინათ თავიანთი უნარები და გამოირჩეოდნენ თავიანთ კარიერაში. თავისი ბლოგის საშუალებით, ჰიუ უზიარებს თავის ცოდნას მსოფლიოს, სთავაზობს უფასო Excel გაკვეთილებს და ონლაინ ტრენინგებს, რათა დაეხმაროს ინდივიდებსა და ბიზნესს თავიანთი პოტენციალის სრულად მიღწევაში.