Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Симптоми

Когато използвате свойството location или location. адресът на вертикалните или хоризонталните знаците за нова страница в макроса Microsoft Visual Basic for Applications, е възможно да получите следното съобщение за грешка:

Грешка по време на изпълнение "9": долен индекс извън диапазона

Причина

Този проблем може да възникне, ако са изпълнени следните условия:

  • Активната клетка е над хоризонталната знак за нова страница или отляво на вертикалния знак за нова страница, към който се отнася индексът HPageBreaks или VPageBreaks .

  • Вертикалното или хоризонталното местоположение за нова страница е извън екрана отдясно на видимия прозорец или под видимия прозорец на работната книга.

  • Можете да използвате макрос на Visual Basic for Applications в Microsoft Excel, подобен на следния код:

    Sub TestHorizontal()    ActiveSheet.Range("CZ1000").Value = 1    MsgBox ActiveSheet.HPageBreaks.Count    MsgBox ActiveSheet.HPageBreaks(1).Location.Address    MsgBox ActiveSheet.HPageBreaks(2).Location.AddressEnd Sub Sub TestVertical()    ActiveSheet.Range("CZ1000").Value = 1    MsgBox ActiveSheet.VPageBreaks.Count    MsgBox ActiveSheet.VPageBreaks(1).Location.Address    MsgBox ActiveSheet.VPageBreaks(2).Location.Address    MsgBox ActiveSheet.VPageBreaks(3).Location.AddressEnd Sub

Заобиколно решение

Microsoft предоставя примери за програмиране само за илюстрация, без да има изрични или подразбиращи се гаранции. Това включва, но не се ограничава до подразбиращите се гаранции за продаваемост или годност за определена цел. В тази статия се предполага, че сте запознати с езика за програмиране, който се показва, и с инструментите, които се използват за създаване и отстраняване на грешки при процедурите. Инженери по поддръжката на Microsoft могат да ви помогнат да обясните функционалността на конкретна процедура, но те няма да променят тези примери, за да ви предоставят допълнителна функционалност или да конструират процедури, за да отговорят на вашите конкретни изисквания. За да предотвратите този проблем, добавете код, за да изберете последната клетка, използвана в работния лист, преди кодът да използва свойството местоположение на хоризонтални или вертикални знаци за нова страница. Например използвайте следния код, за да изберете крайна клетка, използвайте свойството местоположение и след това изберете отново първоначалната активна клетка:

Sub CheckPageBreaks()    'Set object "currcell" equal to active cell.    Set currcell = ActiveCell        'Select the last cell on the worksheet that has data.    Range("IV65536").Select        'Include code with Location property here.    x = ActiveSheet.HPageBreaks(2).Location.Address    MsgBox x    'Example sets x equal to address of second horizontal page break.    'Then message box displays the address of the page break.        'Select original active cell.    currcell.SelectEnd Sub

След като свойството местоположение бъде изчислено, можете да изберете отново първоначалната активна клетка. Ако използвате код за превъртане между първата и последната клетка или изберете последната клетка и веднага след това изберете началната клетка, грешката все още може да се появи. Екранът трябва да бъде прерисуван и свойството местоположение да се изчисли за ефективно решение. Ако използвате кода по-горе с

Application.ScreenUpdating = False

за да предотвратите повторното рисуване на екрана, проблемът все още възниква.

Състоянието

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".

Повече информация

Ако използвате метода COUNT със свойството VPageBreaks или HPageBreaks , е възможно да получите резултат от нулата. Това се случва при условията, посочени в секцията "причина". Ако е видим знак за нова страница, методът COUNT може да даде правилния отговор. Методът COUNT за вертикални или хоризонтални прекъсвания на страница може да даде очаквания резултат, ако край на страница е близо до видимата част на прозореца на работната книга. Заобиколното решение, което е дадено по-рано, може да се използва, за да получи очаквания брой. Знаците за нова страница, които са отдясно на прозореца на работната книга или под прозореца на работната книга, може да разрешат да се използва методът COUNT и да се намери нов ред за нова страница, ако разстоянието от прозореца до знака за нова страница е по-малко от една половина от разстоянието между знаците за нова страница.

Препратки

За повече информация как да улавяте грешки в макрос, щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:

213637 Как се използва "при грешка" за обработване на грешки в макрос

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×