2013-07-24 1 views
0

현재 엑셀 추가 기능에는 두 가지 버전이 있습니다. 출시 버전과 현재 WIP 버전입니다.내 프로젝트가 다른 프로젝트 코드를 호출하는 이유는 무엇입니까?

Excel에 모두로드하고 출시 된 코드를 실행하려고하면 내 WIP 코드 대신 테스트 용 쓰레기가 호출됩니다. VBE에서 코드를 열면 여전히 의도 된대로 서브 루틴을 실행할 수 있습니다.

나는 다른 프로젝트 코드를 호출하는 프로젝트에 대한 정보를 찾았지만, 어떻게 찾았는지는 왜 그런지, 어떻게 멈추는 지에 대한 것이 아닙니다. 두 프로젝트 모두 정확히 동일한 서브 루틴과 함수 이름을 갖고 있기 때문일 수 있지만 현재 프로젝트의 이름이 반드시 우선되어야합니다.

현재는 단지 성가심이지만 테스트시 혼란을 겪습니다. 누구든지 아이디어가 있습니까?

답변

0

의 링크를 업데이트 엑셀. 분명히 이것은 가장 최근에로드 된 통합 문서 (및 모듈이라고 가정)에서 호출 할 때 .OnAction에 대한 알려진 버그입니다. 고마워, 도움을 위해, 나는 버그가 어디에 있는지 알지 못했던 것 같다!

0

VB 개체 브라우저에서 원하지 않는 코드를 참조하고 선택을 취소하십시오.

+0

출시 된 버전에 대한 참조를 확인할 때 현재 프로젝트가 포함되어 있지 않습니다. 모듈 이름 앞에 접두사를 붙이면 제대로 작동하지만 내부 코드를 사용하여이를 수행하지 않아도됩니다. – ThatGingerWill

+0

VBA에서 모듈 우선 순위가 확실하지 않습니다 ... –

+0

통합 문서 (Workbook_open)를 열 때 실행되는 코드가 있습니까 – Vasim

0

Excel에서는 코드가 지정된 위치를 기억하므로 참조가 선택되지 않은 경우에도 계속 작동합니다. 추가 기능의 이름을 바꾸면 함수는 현재 버전을 사용하는 대신 #NAME!을 반환합니다.

Excel에서 코드를 가져 오는 위치를 다시 계산하도록하려면 빠른 검색 방법을 사용하고 대체하려면 ==으로 변경하십시오. 이 같은 공식을 초래하지만, 힘은 현재 접근 가능한 버전 (PRB: Automation Add-In Function Binds to Excel Built-In Function with the Same Name에서 추정)

를 발견 그래서 각 서브 루틴의 모듈 이름을 지정하여이 동작을 중지 관리

+0

이 서브 루틴은 메뉴 막대에서 호출되며, WIP 모듈 이름을 변경 한 후에도 출시 된 버전의 현재 모듈을 사용하여 명시 적으로 중지하면 WIP 코드가 사용됩니다. – ThatGingerWill

관련 문제