image

VBA로 작업하는 동안 프로 시저를 실행할 때이 오류 팝업이 표시 될 수 있습니다. 이 오류는 “모호한 이름 감지 : 프로 시저 이름 “을 나타냅니다. 이 기사에서는이 오류가 발생하는 이유와 해결 방법에 대해 알아 봅니다.

왜이 오류가 발생합니까?

팝업에서 알 수 있듯이 VBA 엔진은 동일한 모듈에서 동일한 이름을 가진 하나 이상의 프로 시저를 감지했습니다. 이로 인해 VBA 엔진에 혼란이 생겼습니다. 따라서 VBA는 오류를보고합니다.

이 문제를 해결하는 방법?

그것은 간단합니다. 단일 모듈에 같은 이름을 가진 두 개의 동일한 프로 시저가 있으면 안됩니다. 프로 시저의 이름을 변경하거나 삭제하거나 다른 모듈로 가져 가십시오.

이 오류는 일반적으로

로 작업하는 동안 나타납니다. link : / events-in-vba-the-events-in-excel-vba [Excel의 이벤트]. * 워크 시트 이벤트가있는 sheet1에서 작업한다고 가정 해 보겠습니다. 이제 사용자가 셀 선택을 변경하자마자 메시지를 트리거하려고합니다. 이 경우`link : / tips-using-worksheet-change-event-to-run-macro-when-any-change-is-made [Worksheet_SelectionChange ()

이벤트]`.

이제 사용자가 셀 선택을 변경할 때 사용자에게 몇 가지 질문을 할 수 있습니다. 그런 다음 동일한 이벤트를 사용해야합니다.

이제 서로 다른 작업에 대해 두 가지 이벤트 처리 절차를 작성했습니다.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MsgBox "Hi"

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Application.InputBox ("who are you?")

End Sub

이제 시트에서 선택을 변경하면 이것이 얻게됩니다.

image

이제 시트에서 선택을 변경하면 이것이 얻게됩니다.

image

보세요, Excel에서는이를 허용하지 않습니다. 모듈에 동일한 이름의 함수를 둘 이상 가질 수 없습니다. 이벤트에서도 마찬가지입니다. 모호함으로 이어집니다.

이제 동일한 이벤트에 대해 다른 작업을 수행하려면 해당 코드를 동일한 하나의 이벤트 프로 시저에 넣어야합니다. 조건을 사용하여 이벤트를 제어하십시오.

아래 이벤트는 완벽하게 작동합니다. 사용자가 sheet1에서 셀 선택을 변경하면 hi 메시지가 팝업되고 입력 상자로 사용자에게 질문합니다.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MsgBox "Hi"

Application.InputBox ("who are you?")

End Sub

이제 모호성이 사라 졌으므로 이벤트가 완벽하게 작동하고 모호한 이름 감지 오류가 다시 발생하지 않습니다.

예, 이것이 Excel VBA에서 모호성 오류를 해결할 수있는 방법입니다. 도움이 되었기를 바랍니다. 이 기사 또는 다른 기사에 대해 의문이 있으시면 아래 의견 섹션에서 저에게 물어보십시오.

관련 기사 :

link : / tips-reference-isnt-valid-excel-error-and-how-to-solve-it [Reference Is n’t Valid Excel Error and How to Solve It?]:이 오류는 다음을 참조 할 때 발생합니다. 존재하지 않거나 변경된 개체 또는 위치. 이 문제를 해결하기 위해 참조를 추적합니다.

link : / events-in-vba-the-events-in-excel-vba [Excel VBA의 이벤트]| Excel에는 7 가지 유형의 이벤트가 있습니다. 각 이벤트는 다른 범위에서 처리됩니다. 응용 프로그램 이벤트는 통합 문서 수준을 다룹니다. 시트 수준의 통합 문서. 범위 수준의 워크 시트 이벤트.

link : / events-in-vba-the-worksheet-events-in-excel-vba [Excel VBA의 워크 시트 이벤트]| 워크 시트 이벤트는 지정된 이벤트가 컴퓨터에서 발생할 때 매크로를 실행하려는 경우에 매우 유용합니다. 시트.

link : / events-in-vba-workbook-events-using-vba-in-microsoft-excel [Microsoft Excel에서 VBA를 사용하는 통합 문서 이벤트]| 통합 문서 이벤트는 전체 통합 문서에서 작동합니다. 모든 시트가 통합 문서의 일부이므로 이러한 이벤트도 해당 시트에서 작동합니다.

link : / events-in-vba-prevent-that-an-automacroeventmacro-executes-using-vba-in-microsoft-excel [Microsoft Excel에서 VBA를 사용하여 자동 매크로 / 이벤트 매크로 실행 방지]| auto_open 매크로 실행을 방지하려면 Shift 키를 사용하십시오.

link : / events-in-vba-chart-object-events-using-vba-in-microsoft-excel [Microsoft Excel에서 VBA를 사용하는 차트 개체 이벤트]| 차트는 복잡한 개체이며 여기에 연결 한 여러 구성 요소가 있습니다. 차트 이벤트를 만들기 위해 클래스 모듈을 사용합니다.

인기 기사 :

link : / keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [50 개의 Excel 단축키로 생산성 향상]| 작업 속도를 높이십시오. 이 50 개의 바로 가기를 사용하면 Excel에서 작업 속도가 더욱 빨라집니다.

link : / formulas-and-functions-introduction-of-vlookup-function [Excel의 VLOOKUP 함수]| 이것은 다른 범위와 시트에서 값을 조회하는 데 사용되는 Excel의 가장 많이 사용되고 인기있는 기능 중 하나입니다.

link : / tips-countif-in-microsoft-excel [Excel 2016의 COUNTIF]| 이 놀라운 기능을 사용하여 조건으로 값을 계산합니다. 특정 값을 계산하기 위해 데이터를 필터링 할 필요가 없습니다.

Countif 기능은 대시 보드를 준비하는 데 필수적입니다.

link : / excel-formula-and-function-excel-sumif-function [Excel에서 SUMIF 함수 사용 방법]| 이것은 또 다른 대시 보드 필수 기능입니다. 이를 통해 특정 조건에 대한 값을 합산 할 수 있습니다.