Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

Visual Basic for Applications에서 '아래 첨자 범위를 벗어남' 오류를 수정하는 방법은 무엇입니까?

VBA(Visual Basic for Applications)는 Microsoft에서 개발한 Visual Basic 프로그래밍 언어의 구현입니다. VBA는 UDF를 활성화하고 작업을 자동화하고 DLL을 통해 WinAPI에 액세스하는 데 사용할 수 있습니다. 그러나 최근에는 사용자가 특정 명령을 실행할 수 없고 "아래 첨자가 범위를 벗어남, 오류 9가 발생한다는 보고가 많이 들어오고 있습니다. " 하려고 하는 동안 팝업됩니다.

Visual Basic for Applications에서  아래 첨자 범위를 벗어남  오류를 수정하는 방법은 무엇입니까?

VBA에서 "아래 첨자가 범위를 벗어남" 오류의 원인은 무엇입니까?

여러 사용자로부터 수많은 보고를 받은 후 문제를 조사하기로 결정하고 문제를 완전히 해결하기 위한 일련의 솔루션을 고안했습니다. 또한 발생 원인을 살펴보고 다음과 같이 나열했습니다.

  • 존재하지 않는 요소:  어떤 경우에는 존재하지 않는 명령의 요소를 참조했을 수 있습니다. 아래 첨자가 가능한 아래 첨자의 범위보다 크거나 작거나 응용 프로그램의 이 시점에서 배열에 차원이 할당되지 않았을 수 있습니다.
  • 정의되지 않은 요소:  코드에서 요소 수를 식별하지 못했을 수 있습니다. "Dim" 또는 "ReDim" 명령을 사용하여 배열의 요소 수를 정의하는 것이 중요합니다.
  • 잘못된 컬렉션 회원: 어떤 경우에는 사용자가 존재하지 않는 컬렉션 구성원을 참조했을 수 있습니다. 컬렉션 구성원에 대해 잘못된 참조가 만들어지면 이 오류가 발생할 수 있습니다.
  • 약식 스크립트:  속기 형식의 아래 첨자를 사용했고 유효하지 않은 요소를 암시적으로 지정했을 수 있습니다. 유효한 키 이름을 사용하는 것이 중요합니다.

이제 문제의 본질에 대한 기본적인 이해를 하였으므로 해결 방법으로 넘어갈 것입니다. 충돌을 피하기 위해 제시된 특정 순서대로 구현해야 합니다.

해결 방법 1:배열 확인

Array 요소에 대해 잘못된 값을 정의했을 수 있습니다. 따라서 Array 요소에 대해 정의한 값을 다시 확인하고 올바른지 확인하는 것이 좋습니다. 또한 배열 선언을 확인하고 확인하세요. 상한과 하한. 어레이의 치수가 재지정된 경우 LBound를 사용해야 합니다. 및 UBound 액세스를 조절하는 기능. 인덱스가 변수인 경우 변수 이름의 철자를 확인하십시오.

Visual Basic for Applications에서  아래 첨자 범위를 벗어남  오류를 수정하는 방법은 무엇입니까?

해결 방법 2:요소 수 지정

경우에 따라 오류가 발생하는 코드의 요소 수를 정의하지 않았을 수 있습니다. Dim을 사용하여 배열의 요소 수를 지정하는 것이 좋습니다. 또는 ReDim 기능.

Visual Basic for Applications에서  아래 첨자 범위를 벗어남  오류를 수정하는 방법은 무엇입니까?

해결책 3:구성 변경

이 오류는 일반적으로 사용자가 올바르지 않거나 존재하지 않는 컬렉션 구성원을 지정할 때 트리거됩니다. 따라서 인덱스 요소를 지정하는 대신 "For Each...Next ” 구성.

Visual Basic for Applications에서  아래 첨자 범위를 벗어남  오류를 수정하는 방법은 무엇입니까?

해결책 4:키 이름 및 색인 확인

어떤 경우에는 아래 첨자의 약식 형식을 사용했을 수 있으며 유효하지 않은 요소를 지정합니다. 따라서 유효한 키를 사용하는 것이 좋습니다. 이름색인 컬렉션을 위해.

Visual Basic for Applications에서  아래 첨자 범위를 벗어남  오류를 수정하는 방법은 무엇입니까?