Excel Visual Basic에서 런타임 오류 13 유형 불일치: 수정

Excel Visual Basic에서 런타임 오류 13 유형 불일치: 수정

Excel 스프레드시트에서 Visual Basic 코드를 실행하는 동안 ” 런타임 오류 13. 유형 불일치 ” 프롬프트 가 나타날 수 있습니다 . Visual Basic 응용 프로그램 모듈은 워크시트를 향상시키는 데 도움이 됩니다. 그러나 다른 코드와 마찬가지로 Visual Basic 코드에서도 런타임 오류가 발생할 수 있으며 이는 매우 정상적인 현상입니다. 시스템에서 이 Visual Basic 오류를 수정하려면 컴퓨터에서 다음 솔루션 세트를 따르세요.

추천 이미지 최소

수정 1 – 값 유형 확인

이 유형 불일치 오류가 발생하는 사용자의 대부분은 코드에 선언된 잘못된 유형의 값으로 인해 발생합니다.

1단계 해당 Excel 파일에 있는 동안 “ 개발자 ” 탭으로 이동합니다.

2단계 – 나중에 “ Visual Basic ”을 클릭하여 워크시트의 Visual Basic 코드를 로드합니다.

또는 런타임 오류 프롬프트에서 “ 디버그 ” 버튼을 누를 수도 있습니다 .

비주얼 베이직 최소

3단계 – Visual Basic 응용 프로그램이 열리면 오른쪽 창에서 코드를 명확하게 확인합니다.

4단계 – 코드에서 선언된 변수 유형을 확인합니다.

[예 –

Sub Excel_MisMatch

k를 정수로 표시

k = “TGP”

MsgBox k

서브 끝

보시다시피 여기서 k는 정수로 선언됩니다. 정수 값은 -2,147,483,647 ~ 2,147,483,647 범위 내의 모든 값을 사용합니다 . 그러나 코드의 다음 줄에서 k는 “TGP”이며 이는 잘못된 데이터 유형입니다.

코드를 조금만 수정하면 이 문제가 해결됩니다.

Sub Excel_MisMatch

k를 정수로 표시

k = “1”

MsgBox k

서브 끝

]

처음 1분

그런 다음 변경 사항을 저장하고 VB 코드를 다시 한 번 실행합니다. 이번에는 런타임 오류 없이 실행됩니다.

수정 2 – 입력 유형 조정

두 번째로 두드러진 이유는 Visual Basic 코드 실행 시 잘못된 입력입니다.

워크시트 사용자가 올바른 형식/데이터 유형을 입력으로 입력하는지 확인해야 합니다. 예를 들어, 다음과 같이 코드 조각을 디자인했다면 –

Sub Excel_MisMatch

희미한 k를 문자열로

Dim q를 정수로

k = InputBox(“자격 증명을 입력하세요”)

q = InputBox(“나이를 입력하세요”)

이제 사용자가 q 변수 에 대한 문자를 정수로 입력하지 않도록 해야 합니다 (문자를 입력으로 받아들일 수 없음).

수정 3 – VBA 디버그 도구 사용

여기에는 코드를 디버그하는 데 사용할 수 있는 전용 VBA 디버그 도구가 있습니다.

1단계 – Microsoft Excel 에서 Win+F11 키를 동시에 누릅니다 .

2단계 – Visual Basic 모듈이 로드되면 오른쪽 창에 코드 조각이 표시됩니다.

3단계 – 다음으로 Sub 키 앞을 한 번 클릭합니다 .

그 분 안에 구독하세요

4단계 – 그런 다음 ” 디버그 ” 도구를 클릭하고 단계 작업(예: Step into , Step Over , Step Out )을 선택하여 코드를 디버깅합니다.

디버그 분

또한 하위 프로시저를 사용하여 기능을 디버깅할 수도 있습니다.

5단계 모든 코드 줄에 대해 동일한 작업을 반복합니다.

터미널에서 Visual Basic 코드를 컴파일 하고 테스트합니다.

Visual Basic 패널에서는 유형 불일치 오류가 발생하지 않습니다.

수정 4 – 작업을 올바르게 데칼레

이러한 유형의 불일치 오류가 나타나는 또 다른 이유는 코드에 사용된 작업이 잘못 구성되었기 때문입니다. 코딩하는 동안 동시에 두 가지 다른 데이터 유형을 작업할 수 없습니다.

Sub Excel_MisMatch

k를 정수로 표시

Dim q를 문자열로

k = “1”

q=”TGP”

MsgBox k*q

서브 끝

마지막 1분

변수가 k이므로 q는 서로 다른 두 가지 데이터 유형(k는 정수, q는 문자열)이므로 연산자 함수를 사용할 수 없습니다. 따라서 Visual Basic 코드를 확인하고 논의된 문제를 모두 제거하십시오.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다