Při použití HPageBreaks nebo VPageBreaks se zobrazuje chybová zpráva "dolní index je mimo rozsah"

Příznaky

Když použijete vlastnost nebo umístění umístění , může se zobrazit následující chybová zpráva: na adrese v makru jazyka Microsoft Visual Basic for Applications .

Chyba za běhu "9": dolní index je mimo rozsah

Příčina

K tomuto problému může dojít, pokud jsou splněné následující podmínky:

  • Aktivní buňka je nad vodorovným koncem stránky nebo nalevo od svislého konce stránky, na které odkazuje index HPageBreaks nebo VPageBreaks .

  • Svislý nebo vodorovný konec stránky je mimo obrazovku vpravo od viditelného okna nebo pod viditelným oknem sešitu.

  • Makro v jazyce Visual Basic for Applications se používá v Microsoft Excelu podobně jako v následujícím kódu:

    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

Alternativní řešení

Společnost Microsoft nabízí příklady programování pouze pro ilustraci bez záruky výslovně uvedené nebo implicitně předpokládaných. To zahrnuje, ale není omezeno na implicitně odvozené záruky obchodovatelnosti nebo vhodnosti pro určitý účel. V tomto článku se předpokládá, že jste obeznámeni s programovacím jazykem, který se vám seznámí, a s nástroji, které se používají k vytváření a ladění procedur. Pracovníci podpory Microsoftu můžou vysvětlit funkce určitého postupu, ale nebudou tyto příklady poskytovat, aby poskytovaly vaše konkrétní požadavky. Chcete-li předejít tomuto problému, přidejte kód pro výběr poslední buňky použité v listu předtím, než kód použije vlastnost umístění pro vodorovné nebo svislé konce stránky. Pokud například chcete vybrat koncovou buňku, použijte následující kód a pak znovu vyberte Location původní aktivní buňku:

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

Po výpočtu vlastnosti Location můžete znovu vybrat původní aktivní buňku. Pokud použijete kód k posunu mezi první a poslední buňkou nebo vyberete poslední buňku a okamžitě znovu vyberete počáteční buňku, může dojít k chybě. Abyste mohli alternativní řešení platit, je nutné překreslit obrazovku a vlastnost umístění . Pokud použijete uvedený kód s

Application.ScreenUpdating = False

abyste zabránili překreslování obrazovky, dochází k problému.

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Další informace

Pokud použijete metodu Count s vlastností VPageBreaks nebo HPageBreaks , může se zobrazit výsledek 0. K tomu dochází za podmínek uvedených v části Příčina. Pokud je zobrazen konec stránky, může metoda Count poskytnout správnou odpověď. Metoda Count pro vertikální nebo vodorovná zalomení stránky může mít očekávaný výsledek, pokud je konec stránky poblíž viditelné části okna sešitu. K získání očekávaného počtu lze použít předchozí alternativní řešení. Konce stránek, které jsou napravo od okna sešitu nebo pod oknem sešitu, mohou povolit metodu Count pro práci a konec stránky, pokud je vzdálenost od okna po konec stránky menší než polovina vzdálenosti mezi konci stránky.

Odkazy

Další informace o soutisku chyb v makru najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

213637 Zpracování chyb v makru pomocí funkce On Error

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×