2013-08-12 16 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のため。 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 
関連する問題