Salt la conținutul principal
Asistență
Conectare

Primiți un mesaj de eroare "indice în afara intervalului" când utilizați HPageBreaks sau VPageBreaks. location în Excel

Simptome

Atunci când utilizați proprietatea locație sau locația. adresa de sfârșituri de pagină verticale sau orizontale într-o macrocomandă Microsoft Visual Basic for Applications, este posibil să primiți următorul mesaj de eroare:

Eroarea Run-Time ' 9 ': indice în afara intervalului

Cauză

Această problemă poate apărea dacă sunt adevărate următoarele condiții:

  • Celula activă se află deasupra sfârșitului de pagină orizontal sau la stânga sfârșitului de pagină vertical la care se face referire indicele HPageBreaks sau VPageBreaks .

  • Locația de sfârșit de pagină verticală sau orizontală este în afara ecranului din partea dreaptă a ferestrei vizibile sau sub fereastra vizibilă a registrului de lucru.

  • Utilizați o macrocomandă Visual Basic for Applications în Microsoft Excel similar cu următorul cod:

    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

Soluție de evitare

Microsoft furnizează exemple de programare doar pentru ilustrație, fără garanție explicită sau implicită. Acestea includ, dar nu se limitează la garanþiile implicite de vandabilitate sau adecvare la un anumit scop. Acest articol presupune că sunteți familiarizat cu limbajul de programare care este în curs de demonstrare și cu instrumentele utilizate pentru a crea și a depana proceduri. Inginerii de asistență Microsoft vă pot ajuta să explicați funcționalitatea unei anumite proceduri, dar acestea nu vor modifica aceste exemple pentru a oferi funcționalități suplimentare sau pentru a construi proceduri pentru a îndeplini cerințele specifice. Pentru a preveni această problemă, adăugați cod pentru a selecta ultima celulă utilizată în foaia de lucru înainte ca codul să utilizeze proprietatea locație a sfârșiturilor de pagină orizontale sau verticale. De exemplu, utilizați următorul cod pentru a selecta celula de sfârșit, utilizați proprietatea locație , apoi reselectați celula activă originală:

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

După ce se calculează proprietatea locație , este posibil să selectați din nou celula activă originală. Dacă utilizați cod pentru a defila între prima și ultima celulă sau selectați ultima celulă și selectați imediat celula de început, eroarea poate apărea încă. Ecranul trebuie să fie retras și proprietatea locație să fie calculată pentru ca soluția să fie eficientă. Dacă utilizați codul de mai sus cu

Application.ScreenUpdating = False

pentru a împiedica redesenarea ecranului, problema apare încă.

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.

Mai multe informații

Dacă utilizați metoda Count cu proprietatea VPageBreaks sau HPageBreaks , este posibil să primiți un rezultat de zero. Acest lucru se întâmplă în condițiile listate în secțiunea "cauză". Dacă este vizibil un sfârșit de pagină, metoda Count poate da răspunsul corect. Metoda Count pentru sfârșiturile de pagină verticale sau orizontale poate oferi rezultatul așteptat dacă un sfârșit de pagină este lângă partea vizibilă a ferestrei registrului de lucru. Soluția dată anterior poate fi utilizată pentru a obține numărul așteptat. Sfârșiturile de pagină care se află în partea dreaptă a ferestrei registrului de lucru sau sub fereastra registrului de lucru pot permite ca metoda Count să funcționeze și să se afle acea sfârșit de pagină, dacă distanța de la fereastră la sfârșitul de pagină este mai mică decât jumătate din distanța dintre sfârșiturile de pagină.

Referințe

Pentru mai multe informații despre cum să capturați erorile dintr-o macrocomandă, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

213637 Cum se utilizează "la eroare" pentru a manipula erorile dintr-o macrocomandă

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×