Мазмұны
Бұл мақалада Excel VBA бағдарламасындағы “ Ауқымнан тыс жазылу ” қатесінің себептерін және оларды шешу жолын көрсетеміз.
Тәжірибе үлгісін жүктеп алу
Тегін тәжірибе Excel үлгісін осы жерден жүктеп алуға болады.
VBA.xlsm файлындағы «Жіберу ауқымынан тыс» қатесі
VBA жүйесінде Subscript Out of Range қатесі дегеніміз не?
VBA Subscript диапазоннан тыс қатесі Excel бағдарламасында жоқ мүше немесе жоқ жиым жиынына қатынасуға әрекет жасағанда пайда болады. Бұл Excel бағдарламасындағы VBA кодтауындағы “ Орындалу уақыты қатесі 9 ” қате түрі.
Қате әдетте келесідей көрінеді,
VBA-да ауқымнан тыс жазылу қатесінің шешімдерінің 5 себебі
Бұл бөлімде пайда болуының ең көп тараған 5 себебі талқыланады. Жазба диапазоннан тыс қате және оны шешу жолдары қандай.
1. Жоқ жұмыс кітабына арналған VBA жүйесіндегі «Ауқымнан тыс жазылу» қатесі
Ашық емес Excel жұмыс кітабына кіруге әрекет жасағанда, « Ауқымнан тыс жазылу » қатесін аласыз.
Егер біз жоғарыда көрсетілген кодты Іске қосу әрекетін жасасақ, қатені аламыз, себебі « атты Excel жұмыс кітабы жоқ. Сатылым », ол қазір ашық.
Шешімі
Бұл қатені шешу үшін алдымен қол жеткізгіңіз келетін Excel жұмыс кітабын ашыңыз, содан кейін іске қосыңыз. макрос.
2. Жоқ үшін VBA-дағы «Ауқымнан тыс жазылу» қатесіЖұмыс парағы
Excel жұмыс кітабында жоқ жұмыс парағына қол жеткізуге әрекеттенгенде, VBA-да “ Жұмыс аймағынан тыс ” қатесін аласыз. .
Егер жоғарыда көрсетілген кодты іске қосуға әрекет жасасақ, қатені аламыз, себебі « 2-парақ ” жұмыс парағы біздің жұмыс кітабымызда қол жетімді.
Шешімі
Бұл қатені шешу үшін сізде іске қосылатын жұмыс кітабында қол жеткізгіңіз келетін Excel парағы және содан кейін макросты іске қосыңыз.
3. Анықталмаған массив элементтеріне арналған VBA жүйесіндегі «Ауқымнан тыс жазылу» қатесі
Егер динамикалық массивтің ұзындығын келесі параметрмен анықтамасаңыз Excel VBA бағдарламасында DIM немесе REDIM сөзін пайдалансаңыз, онда сіз “ Ауқымнан тыс жазылу ” қатесін аласыз.
Жоғарыда келтірілген кодта біз Массивті 5-тен 10-ға дейінгі өлшемде жарияладық, бірақ 5-тен төмен 3 индексінің жазылуына сілтеме жасадық.
Шешім
Мұны шешу үшін массив өлшемі арасындағы индексті жариялаңыз.
Бұл бөлік e коды өте жақсы жұмыс істейді, өйткені бұл жерде біз 5-тен 10-ға дейінгі диапазондағы 5 индексінің жазылуына сілтеме жасадық.
4. Жарамсыз жинаққа арналған VBA-дағы аумақтан тыс қате қатесі/ Массив
Жандық белгі ықтимал жазылу диапазонынан үлкен немесе кішірек болса, Жиндік ауқымнан тыс қатесі орын алады.
Жоғарыдағы мысалды қараңыз, бізайнымалыны Массив ретінде жариялады, бірақ бастапқы және соңғы нүктені тағайындаудың орнына біз 20 мәні бар бірінші массивті тікелей тағайындадық.
Шешімі
Кімге бұл мәселені шешу үшін массив ұзындығын бастапқы және аяқталу нүктесімен тағайындау керек.
Бұл код қате бермейді, өйткені қазір біз массивті жарияладық. Бастапқы нүктесі 1 және аяқталу нүктесі 5.
5. Стенографиялық сценарий үшін VBA-дағы тармақтың ауқымнан тыс қатесі
Егер сіз стенографиядан стенографияны пайдалансаңыз subscript болса және ол жарамсыз элементке қатысты болса, Excel VBA бағдарламасында “ Ауқымнан тыс жазылу ” қатесін аласыз. Мысалы, [A2] ActiveSheet.Range(A2) стенографиясы.
Шешім
Түзету үшін бұл үшін жинақ үшін жарамды кілт атауы және индекс пайдалану керек. ActiveSheet.Range(A2) жазудың орнына жай ғана [ A2 ] жазуға болады.
Excel Subscript артықшылығы VBA-дағы ауқымнан тыс қатесі
- VBA Subscript диапазоннан тыс қатесі немесе “ Орындалу уақыты қатесі 9 ” қатенің орын алған орнын көрсетуде шынымен пайдалы. VBA кодында.
- Бұл қате пайдаланушыларға қатенің түрін табуға көмектеседі, осылайша олар қате кодына сәйкес шешімдерді тексеріп, таба алады.
Есте сақтау керек нәрселер
- Себебі бұл қате кодтың қай бөлігін нақты көрсету үшін кодтың әрбір қадамын құрастырады.біз іс жүзінде әрекет етуіміз керек код, сондықтан кодтың үлкен жолы болса, F8 пернесін басу арқылы кодтың әрбір жолын бір-бірден құрастырған дұрыс.
Қорытынды
Бұл мақала сізге VBA бағдарламасындағы Excel Ауқымнан тыс жазылу қатесінің себептері мен шешімдерін көрсетті. Бұл мақала сізге өте пайдалы болды деп үміттенемін. Тақырыпқа қатысты кез келген сұрақтарды қоюға болады.