2016-07-19 8 views
2

Excel 2010에 대한 첫 번째 Excel 추가 기능을 만들려고합니다. 대부분이 작동하고 리본 단추에서 실행되지만 통합 문서의 VBA 코드에서 추가 기능의 서브 루틴을 처리하는 데 문제가 있습니다.vba의 Excel Add-In에서 함수를 실행하면 Run "mySub"를 사용하는 것보다 쉬운 방법이 있습니까?

this answer on SO에 따르면, 단순히 구문을 사용 할 수 있어야한다 :

mySub 

또는

Call mySub 

그러나이 오류 "Sub 또는 Function이 정의되지 않았습니다"을 발생합니다. 나는 단지 그들에게이 방법을 실행하기 위해 관리했습니다 :

Run "mySub" 

또는

Application.Run("myAddIn.xlam!mySub") 

그래서 그것을 쉬운 방법 해결 할 수있는 추가 기능을 포함 할 수있는 방법이 있나요?

추가 기능은 도구 -> 추가 기능 목록에서 이미 선택되어 있으며 해당 파일 이름 (CalculationFunctions.xlam)과 다른 고유 한 이름 (CalcFunctions)을 갖습니다. 추가 기능 파일이 다른 디스크에 있고 서버에서 작업하고 있지만 중요하지는 않습니다.

+2

통합 문서의 VBProject에서 추가 기능에 대한 참조를 설정해야합니다. 추가 기능의 프로젝트 이름을 기본 VBAProject 이외의 것으로 변경 한 경우에만이 작업을 수행 할 수 있습니다. – Rory

+0

감사! 나는 이미 그렇게했다고 생각했지만 바보입니다. 나는 세부 사항으로 질문을 편집했다. –

답변

1

(게시자를 대신하여 게시 됨).

밝혀졌습니다. 나는 바보예요. 필자는 일반 Excel 창에서 추가 기능에 대한 참조 만 설정했습니다. 그게 사람들이 도구 -> 참조 -> 추가 기능 (네덜란드어로 Excel을 사용하고 "도구"메뉴가 없음)이 의미하는 바라고 가정했습니다. 어쨌든, 솔루션은 VBA 편집기 창에서 해당 메뉴의 참조를 설정합니다.

다음은 VBA에 대한 참조를 추가하는 방법은 다음과 같습니다 refPath 파일의 전체 경로 인으로

ThisWorkbook.VBProject.References.AddFromFile refPath 

.

참조를 추가하려면 VBA 프로젝트를 편집 할 수있는 권한이 있어야합니다. 엑셀 설정 -> 트러스트 센터 -> 매크로 설정에서이를 활성화 할 수 있습니다. 회사의 PC를 사용 중이라면 관리자가이 설정을 사용자에게 맞게 설정해야합니다.