목차
Excel에서 VBA 로 작업할 때 직면하는 가장 일반적인 오류 중 하나는 사용자 정의 유형이 정의되어 있지 않다는 것입니다. 이 기사에서는 이 오류가 발생하는 이유와 이 오류를 해결하는 방법을 보여 드리겠습니다.
연습 워크북 다운로드
이 연습 워크북을 다운로드하여 이 기사를 읽고 있습니다.
사용자 정의 유형이 정의되지 않음.xlsm
2 사용자 정의 유형의 원인 및 해결 방법 Excel VBA
에서 유형이 정의되지 않음 Excel VBA 에서 자주 발생하는 이 오류 뒤에는 2 가지 주요 문제가 있습니다. 자세히 살펴보고 해결 방법을 찾아봅시다.
1. 변수 선언 중 맞춤법 오류
이 오류의 주요 원인입니다. 대부분의 경우 "사용자 정의 유형이 정의되지 않음" 오류는 변수를 선언하는 동안 맞춤법 오류로 인해 발생합니다.
다음 코드 줄을 보십시오.
3584
이 코드를 실행하면 "사용자 정의 유형이 정의되지 않음" 오류가 있음을 알리는 오류 상자가 나타납니다. 그와 함께 파란색으로 강조 표시된 코드의 두 번째 줄을 찾을 수 있습니다. 여기서 "string" 대신 "strng" 를 썼습니다.
요점을 이해하시길 바랍니다. VBA 는 변수 유형 "strng" 를 인식할 수 없었기 때문에 새로운 변수 유형으로 간주하고 어딘가에 정의했다고 생각했습니다. 하지만 그럴 때어디에도 선언하지 않은 것을 발견하면 오류가 발생합니다.
따라서 간단한 VBA 코드를 실행하는 동안 어쨌든 이 오류가 발생하면 먼저 변수 유형의 모든 철자를 확인하십시오.
2. 적절한 참조 부족
이 오류의 또 다른 원인입니다. 적절한 참조가 부족하다는 것입니다. 때때로 우리는 Visual Basic 참조 상자 에서 적절한 참조가 필요한 코드의 일부 개체를 사용합니다. 그렇지 않으면 VBA 가 개체를 인식하지 못합니다.
다음 VBA 코드를 살펴보십시오.
4540
이 코드를 실행합니다. "사용자 정의 유형이 정의되지 않음", 사전 개체 를 강조 표시하는 동일한 이전 오류가 표시됩니다. 이는 VBA 가 Dictionary 객체 를 인식하지 못하고 잘못 정의된 것이 아닌 사용자 정의 변수로 간주했기 때문입니다.
이제 가장 큰 문제는 이 오류를 어떻게 해결하느냐입니다. 쉬운. 이 오류를 해결하는 2 가지 방법이 있습니다.
⧪ 해결 방법 1: Visual Box 참조 상자에서 필수 참조 확인
이것은 이 문제를 해결하는 가장 현명한 방법. 도구 > Visual Basic 리본의 참조 버튼. 참조 를 클릭합니다.
참조 라는 대화 상자가 열립니다. 스크롤하여 Microsoft Scripting Runtime (사용 중인 개체에 따라 다름)을 찾습니다. 사전object 가 인식되려면 Microsoft Scripting Runtime 이 필요합니다. 따라서 VBA 코드에서 개체를 사용하는 동안 VBA에서 인식할 수 있는 전제 조건을 알아야 합니다. 자세한 내용은 이 링크를 참조하십시오.). 확인하십시오.
이제 돌아와서 코드를 실행하십시오. 오류가 발생하지 않습니다. 이번에는 VBA 가 사전 객체 를 인식할 수 있기 때문입니다.
⧪ 솔루션 2: 특정 객체가 아닌 순수 객체로 선언
이 문제를 해결하는 또 다른 방법이 있습니다. 개체를 사전 개체 가 아닌 순수 개체로 선언할 수 있습니다.
다음 코드 행에 유의하십시오.
5111
여기서 변수 MyDictionary 를 Dictionary 가 아닌 단순 개체로 선언했습니다. 이제 이 코드를 실행하면 오류가 발생하지 않습니다.