HPageBreaks 또는 VPageBreaks를 사용 하는 경우 "첨자가 범위를 벗어났습니다." 오류 메시지가 표시 됩니다. Excel의 위치

증상

위치 속성 또는 위치를 사용 하는 경우 Microsoft Visual Basic for Applications 매크로의 세로 또는 가로 페이지 나누기 주소 에는 다음과 같은 오류 메시지가 표시 될 수 있습니다.

런타임 오류 ' 9 ': 첨자가 범위를 벗어났습니다.

원인

이 문제는 다음 조건에 해당 하는 경우에 발생할 수 있습니다.

  • 활성 셀이 가로 페이지 나누기 또는 HPageBreaks 또는 VPageBreaks index로 참조 되는 세로 페이지 나누기의 왼쪽에 있습니다.

  • 세로 또는 가로 페이지 나누기 위치가 보이는 창의 오른쪽 또는 통합 문서의 표시 창 아래에 있는 화면을 벗어났습니다.

  • 다음 코드와 유사 하 게 Microsoft Excel의 Visual Basic for Applications 매크로를 사용 합니다.

    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 지원 엔지니어가 특정 프로시저의 기능을 설명 하는 데 도움이 되지만, 추가 기능을 제공 하거나 특정 요구 사항에 맞게 프로시저를 구성 하기 위해 이러한 예제를 수정 하지는 않습니다. 이 문제가 발생 하지 않도록 하려면 코드에서 가로 또는 세로 페이지 나누기의 Location 속성을 사용 하기 전에 워크시트에 사용 된 마지막 셀을 선택 하는 코드를 추가 합니다. 예를 들어 다음 코드를 사용 하 여 끝 셀을 선택 하 고 Location 속성을 사용한 다음 원본 활성 셀을 다시 선택 합니다.

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

Location 속성이 계산 된 후에는 원래 활성 셀을 다시 선택할 수 있습니다. 코드를 사용 하 여 첫 번째 및 마지막 셀 사이를 스크롤하거나 마지막 셀을 선택 하 고 바로 시작 셀을 다시 선택할 경우 오류가 계속 발생할 수 있습니다. 해결 방법을 적용 하려면 화면을 다시 그려야 하 고 위치 속성을 계산 해야 합니다. 위의 코드를 사용 하는 경우

Application.ScreenUpdating = False

화면 재생을 방지 하기 위해 문제가 계속 발생 합니다.

상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.

추가 정보

VPageBreaks 또는 HPageBreaks 속성에 Count 메서드를 사용 하는 경우 0의 결과가 나타날 수 있습니다. 이는 "원인" 섹션에 나열 된 조건 하에서 발생 합니다. 페이지 나누기가 표시 되 면 Count 메서드에서 올바른 답을 제공할 수 있습니다. 페이지 나누기가 통합 문서 창의 표시 되는 부분 근처에 있는 경우에는 세로 또는 가로 페이지 나누기에 대 한 Count 메서드에서 예상 결과를 얻을 수 있습니다. 이전에 제공 된 해결 방법을 사용 하 여 예상 되는 횟수를 구할 수 있습니다. 창에서 페이지 나누기 까지의 거리가 페이지 나누기 사이의 거리의 1/2 미만이 면 통합 문서 창 또는 통합 문서 창 아래에 있는 페이지 나누기를 사용 하 여 Count 메서드가 작동 하 고 해당 페이지 나누기를 찾을 수 있습니다.

참조

매크로에서 오류를 포착 하는 방법에 대 한 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.

213637 "오류 발생"을 사용 하 여 매크로의 오류 처리 방법

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×