是的,這些名稱用於編程目的,但這些名稱對用戶也是可見的,所以這是一個有趣的問題......要解決它,您可以通過它的整數索引值簡單地引用圖表。
,而不是例如:
ActiveSheet.ChartObjects("Chart 6").Activate
你可以使用:
ActiveSheet.ChartObjects(6).Activate
在上面,我認爲 「圖6」 由值6索引,但它確實能是任何數字。例如,如果您創建並銷燬了五個先前的圖表,並且此圖表現在是工作表上唯一的圖表,那麼名爲「圖表6」的圖表實際上將被整數值1(1)索引。
所以你必須找出你的圖表對應的索引號,然後在你的代碼中使用該索引值。
有意義嗎?
更新:回覆洛朗
至於名字被顯示給用戶 ,如果我叫圖 「摩托艇」?
就是這樣!這是你的答案!
我剛纔建議你堅持不改變的部分名稱。例如,「圖表6」正在改爲「グラフ6」。因此,在這種情況下,您應該簡單地遍歷所有查找名稱以「6」結尾的圖表。但是,更好的是簡單地避免將被自動翻譯的單詞。因此,不是將其命名爲「圖6」,而是將其命名爲「是」,「摩托艇」或其他不會自動翻譯的東西。
使用這種方法,而不是:
ActiveSheet.ChartObjects("Chart 6").Activate
你可以使用:
ActiveSheet.ChartObjects("Motorboat").Activate
一致認爲,這是不理想的。甚至可能有一個我不知道的圖表的編程代碼名稱,如果它存在,它可以讓你使用任何你想要的名字。但是,如果沒有這樣的功能,那麼使用不會被翻譯的圖表名稱似乎是最好和最簡單的方法。
希望這會有所幫助!
邁克
問題是,「圖表6」是指* that *圖表。圖表(6)指的是恰好在列表中的第六個圖表,這可能隨時間而改變,所以我不能使用它。即使我確定了正確的索引,它可能會改變,我將修改一個不同的圖表,以至於不能解決問題。 – Laurent 2010-01-24 23:32:12
至於顯示給用戶的名字,如果我將圖表命名爲「Motorboat」,該怎麼辦?當Excel文件在日本PC上打開時,Excel是否必須使用某種字典將「摩托艇」翻譯成日文? Souds有點可笑。所以只是因爲我碰巧把它命名爲「Graph」,我不明白爲什麼它應該在這種特殊情況下。如果我以某種方式命名我的圖表,那麼這個名稱就與語言無關。 – Laurent 2010-01-24 23:36:24
@Laurent:「即使我確定了正確的索引,它可能會改變,我會修改一個不同的圖表,所以不能解決問題。」那麼,一本工作手冊是非常有活力的。你通常可以確定它是#6,然後鎖定你的代碼。也就是說,你100%正確:它*可以*改變,所以這個建議不是通用的 - 如果你添加或刪除了圖表,你將不得不改變你的參考號。這可以通過對每個圖表編號使用全局常量而不是硬編碼來更簡單地完成。但是,一致認爲,如果進行修改,這並不理想。 – 2010-01-25 12:45:43