2016-09-28 20 views
2

我張貼此,希望它可以幫助別人,因爲沒有我的檢索顯示對此的任何信息。Excel不釋放形狀的創作名字

我就遇到了這個同時建立,將複製的嵌入形式形狀,然後將其粘貼在同一張紙上的程序,然後運行重命名方案,該方案將有助於裏引用這些形狀的

這應該是足夠簡單,但我遇到了間歇性問題。最終我意識到,Excel似乎在創建時「記住」形狀的原始名稱,並將其標記爲正在使用,只有在形狀被刪除時纔會釋放它。因此,如果您重新命名形狀,則永遠不能將其恢復爲原始名稱。例如,如果您將「按鈕1」重命名爲「Btn1」,則永遠不能將其更改回「按鈕1」。有趣的是,現在可以通過名稱「按鈕1」或「Btn1」來引用形狀。

在下面的宏,假設「按鈕1」是創作的名字,s.Name最終將成爲「BTN1」,儘管它看起來像它會返回「按鈕1」。

Sub RenameShape() 
Dim s As Shape 
Dim nm As String 
Set s = ActiveSheet.Shapes("Button 1") 
nm = s.Name 
s.Name = "Btn1" 
s.Name = nm 
End Sub 

因爲我已經遇到一對夫婦的那說說形狀的「內部」和「外部」的名字鏈接 - 我假設的「內部」的名字是人跡罕至的一個Excel將不會忘記,而「外部」名稱是人們通常看到的公開名稱。

我很想從任何人誰可以擺脫更深入地瞭解這個聽見。

+0

我認爲[如何獲得形狀的內部名稱(http://stackoverflow.com/a/3746558/4717755)可能會提供一些線索洞察到這種情況。 – PeterT

+0

這是一篇有趣的文章,它使我得出結論,如果一個人不知道內部名字是什麼,那麼就沒有辦法得到它。 – DaveU

回答

0

由於這篇文章的主要目的是一起傳遞信息,我打算讓這一個答案,因此它可以被關閉。