2012-10-18 3 views
0

동일한 Excel 시트 (동일한 이름, 동일한 기능의 링크)에 다양한 모양이 있습니다.Excel 동일 이름의 버튼에 대한 모양 및 행

이들 중 어느 것이 눌 렸는지 (TopLeft 행/열) 알아야합니다. Application.Caller는 이름을 올바르게 식별하지만 여러 인스턴스가 있으므로 어떤 키를 눌렀는지 식별 할 수 없습니다.

나는 여러 번 모양을 복사 할 것이기 때문에 모두 동일한 것으로 부르는 것이 좋습니다.

+0

모두 똑같이 호출하면 Application.Caller를 사용하여 구분할 수 없습니다. –

+0

사실, 따라서 질문입니다. 분명히 다른 방법이 있어야합니다. – Rob

+0

모든 셰이프의 이름을 고유하게 바꾸는 매크로를 작성하십시오. –

답변

0

고유

Dim sh As Shape 
    For Each sh In ActiveSheet.Shapes 
     sh.Name = "Button_" & sh.ID 
    Next sh 

수행 할 수있는 모든 형태의 이름을 변경, 위의 팀 윌리엄스 의견을 바탕으로 다음 Application.Caller 잘 작동합니다. 이 솔루션은 일부 응용 프로그램에서는 좋지 않을 수 있지만 작동합니다.