Die Fehlermeldung "Tiefgestellt außerhalb des Bereichs" wird angezeigt, wenn Sie HPageBreaks oder VPageBreaks.Location in Excel verwenden.

Symptome

Wenn Sie die Location-Eigenschaft oder Location.Address von vertikalen oder horizontalen Seitenumbrüchen in einem Microsoft Visual Basic for Applications-Makro verwenden, wird möglicherweise die folgende Fehlermeldung angezeigt:

Hinweis

Laufzeitfehler '9':
Tiefgestellt außerhalb des Bereichs

Ursache

Dieses Problem kann auftreten, wenn folgende Bedingungen vorliegen:

  • Die aktive Zelle befindet sich über dem horizontalen Seitenumbruch oder links vom vertikalen Seitenumbruch, auf den der HPageBreaks- oder VPageBreaks-Index verweist.

  • Die vertikale oder horizontale Position des Seitenumbruchs befindet sich außerhalb des Bildschirms rechts neben dem sichtbaren Fenster oder unterhalb des sichtbaren Fensters der Arbeitsmappe.

  • Sie verwenden ein Visual Basic for Applications-Makro in Microsoft Excel, das dem folgenden Code ähnelt:

    Sub TestHorizontal()
        ActiveSheet.Range("CZ1000").Value = 1
        MsgBox ActiveSheet.HPageBreaks.Count
        MsgBox ActiveSheet.HPageBreaks(1).Location.Address
        MsgBox ActiveSheet.HPageBreaks(2).Location.Address
    End 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.Address
    End Sub
    
    

Problemumgehung

Microsoft stellt Programmierbeispiele nur zur Veranschaulichung zur Verfügung, ohne ausdrückliche oder stillschweigende Garantie. Dies schließt die stillschweigende Gewährleistung der Marktgängigkeit oder der Eignung für einen bestimmten Zweck ein, ist aber nicht darauf beschränkt. In diesem Artikel wird davon ausgegangen, dass Sie mit der vorgestellten Programmiersprache und den Werkzeugen zum Erstellen und Debuggen von Prozeduren vertraut sind. Die Microsoft Support-Spezialisten können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, jedoch werden sie diese Beispiele nicht in Bezug auf eine erweiterte Funktionalität verändern, noch werden sie Prozeduren entwickeln, die auf Ihre besonderen Bedürfnisse zugeschnitten sind.
Um dieses Problem zu vermeiden, fügen Sie Code hinzu, um die letzte Zelle auszuwählen, die im Arbeitsblatt verwendet wird, bevor der Code die Ort-Eigenschaft von horizontalen oder vertikalen Seitenumbrüchen verwendet. Verwenden Sie beispielsweise den folgenden Code, um die Endzelle auszuwählen, verwenden Sie die Standort-Eigenschaft, und wählen Sie dann die ursprüngliche aktive Zelle erneut aus:

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.Select

End Sub

Nachdem die Eigenschaft "Ort" berechnet wurde, können Sie wieder die ursprüngliche aktive Zelle auswählen. Wenn Sie Code verwenden, um zwischen der ersten und der letzten Zelle zu scrollen, oder wenn Sie die letzte Zelle auswählen und sofort die Anfangszelle erneut auswählen, kann der Fehler weiterhin auftreten. Der Bildschirm muss neu gezeichnet und die Location-Eigenschaft berechnet werden, damit die Problemumgehung wirksam wird. Wenn Sie den obigen Code mit

Application.ScreenUpdating = False

Um ein erneutes Zeichnen des Bildschirms zu verhindern, tritt das Problem trotzdem auf.

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Weitere Informationen

Wenn Sie die Count-Methode mit der VPageBreaks- oder HPageBreaks-Eigenschaft verwenden, erhalten Sie möglicherweise das Ergebnis Null. Dies geschieht unter den im Abschnitt "Ursache" aufgeführten Bedingungen. Wenn ein Seitenumbruch sichtbar ist, gibt die Zählmethode möglicherweise die richtige Antwort. Die Count-Methode für vertikale oder horizontale Seitenumbrüche kann das erwartete Ergebnis liefern, wenn sich ein Seitenumbruch in der Nähe des sichtbaren Bereichs des Arbeitsmappenfensters befindet. Die zuvor beschriebene Problemumgehung kann verwendet werden, um die erwartete Anzahl zu erhalten.

Seitenumbrüche, die sich rechts neben dem Arbeitsmappenfenster oder unterhalb des Arbeitsmappenfensters befinden, ermöglichen möglicherweise das Arbeiten der Count-Methode und das Auffinden dieses Seitenumbruchs, wenn der Abstand vom Fenster zum Seitenumbruch weniger als die Hälfte des Abstands zwischen den Seitenumbrüchen beträgt.

Referenzmaterial

Weitere Informationen zum Auffangen von Fehlern in einem Makro finden Sie im folgenden Artikel der Microsoft Knowledge Base:

213637 Verwenden von "Bei Fehler" zum Behandeln von Fehlern in einem Makro