2009-04-17 2 views
3

원본 워크 시트를 새 통합 문서의 대상 워크 시트에 복사 할 때 매크로 할당 라디오 단추를 재정의하는 것과 관련하여 XL에 문제가 있습니다.파일 복사시 명령 단추에 매크로 재 할당

대상 워크 시트에서 라디오 단추를 클릭하면 소스 통합 문서 RATHER를 열어 단추에 지정된 매크로를 실행하려고 시도합니다.

원본 대상 통합 문서와 마찬가지로 대상 통합 문서에 실제로 동일한 매크로 복사본이 있는지 확인했습니다. 그러나, 라디오 버튼을 오른쪽 클릭/매크로 할당, 나는 경로가 여전히 소스 통합 문서/워크 시트를 가리키는 것을 찾습니다.

소스 워크 시트에서 실행하는 동안 다음 코드를 시도했지만 작동하지 않습니다.

코드 :

wbkDESTINATION.Sheets("1-Start").Select 
ActiveSheet.Shapes("Option Button 1").Select 
Selection.OnAction = "Sheet1.WEEKLY" 

내가 XL 대신 원래 원본 통합 문서에 점프의, 대상 워크 시트를 선택하는 알 수 있도록 마지막 Selection.OnAction 코드를 수정하는 방법, 당신의 제안을 감사하겠습니다.

감사합니다.

답변

0

D' oh! Forms 컨트롤을 사용하고 있다는 것을 깨달았습니다.

wbkDESTINATION.Sheets("1-Start").Select 
ActiveSheet.Shapes("Option Button 1").Select 
Selection.OnAction = ThisWorkbook.name & "!Sheet1.WEEKLY" 

내가 컨트롤은 모양 모음에 표시하지만, 그들은 워크 시트 코드에서 자신의 _CLICK 이벤트와 실제로 OLE 객체가 있다고 생각 : 당신은 당신이 명시 적으로이 같은 통합 문서를 참조하여 원하는 프로 시저를 호출 보장 할 수 있습니다 모듈이며 대체 절차는 onaction을 통해 할당 할 수 없습니다. 이 중요한 구분에 도움이되는 것은 예측할 수 없을 정도로 모호합니다.

본인의 테스트 과정에서이를 확인했습니다. 컨트롤은 항상 부모 워크 시트에서 _click 이벤트를 참조합니다. 워크 시트를 어떻게 복사하고 있습니까? 나는 표준 인터페이스 모듈과 워크 시트 코드 모듈에서 프로그래밍 방식으로 사용자 인터페이스를 사용해 보았으며 매번 동일한 결과를 얻었다.

0

이것은 꽤 업데이트되었지만 앞으로의 구직자를 위해 게시하고 있습니다.

내가 언급 한 것과 정확히 같은 문제가 있었기 때문에 나는이 질문에 부딪쳤다. 마지막으로 나는 다음 해결책을 찾았으며 소스 워크 시트 (존재하는 경우)에서 연결을 제거하는 방법에 대한 힌트를 얻었습니다.

https://www.thespreadsheetguru.com/blog/correcting-shape-assigned-macro-links-after-copying-worksheet-vba