2012-10-18 10 views
0

我有我的excel 07工作表中的各種形狀是相同的(相同的名稱,相同的功能鏈接到它)。Excel形狀行和列的按鈕同名

我需要知道哪些被按下(TopLeft Row/Column)。 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工作正常。對於某些應用程序,此解決方案可能看起來不太合適,但它可行