2013-08-12 163 views
6

我想在不知道圖表編號的情況下使用VBA在Excel表格中選擇隨機圖表,因爲生成的圖表總是更改編號。任何人都可以幫忙嗎?是否可以選擇圖表而不參考圖表編號?我想更改活動圖表的圖表名稱。在不參考圖表編號的情況下選擇圖表

1 ActiveSheet.ChartObjects("Chart 409").Activate 
2 ActiveSheet.Shapes("Chart 409").Name = "Chart 1" 
3 ActiveSheet.ChartObjects("Chart 1").Activate 
+6

而不是由對罵圖表,你需要通過指數來稱呼它:'ActiveSheet.ChartObjects(1).Activate'爲一日一中'Activesheet'。將1改爲隨機數會給你隨機參考。 –

+0

如果你想活動圖表,使用'Selection.Name =「...」' –

+0

感謝KazJaw和LS_dev。我需要這個的原因是因爲我的圖表總是更新,其名稱發生更改,因此我無法獲得修復引用名稱。但是,ActiveSheet.ChartObjects(1).Activate工作得很好,它隨機選擇。非常感謝!終於解脫了。 – user2640906

回答

1

要選擇所有圖表或隨機圖表,您可以使用圖表索引。

Sub getcharts() 

Dim ws As Worksheet 
Dim ch As ChartObject 
Set ws = ActiveSheet 

cnt = ws.ChartObjects.Count 
random_num = Application.WorksheetFunction.RandBetween(1, cnt) 

ws.ChartObjects(random_num).Name = "NAM" 'The Random chart 
For Each ch In ws.ChartObjects 
    ch.Name = "Put the name of Chart here " 
    'Or Do anything with you all the charts here 
Next 


End Sub 
相關問題