2013-08-12 17 views
6

Grafikte herhangi bir değişiklik olmadığı için grafik numarasının bilinmemesi nedeniyle VBA kullanılarak Excel'de bir sayfada rastgele bir grafik seçmek istiyorum. Biri yardım edebilir mi lütfen? Grafik numarasına başvurmadan bir grafik seçmek mümkün mü? Etkin grafiğin grafik adını değiştirmek istiyorum.Grafik numarasına başvurmadan grafiklerin seçilmesi

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'' 1st biri için. 1'den rasgele sayıya geçmek size rastgele referans verecektir. –

+0

Etkin grafik istiyorsanız, 'Selection.Name =" ... "' –

+0

Teşekkürler KazJaw ve LS_dev. Buna ihtiyacımın nedeni, grafiğimin her zaman güncellendiği, adının değiştiği ve dolayısıyla sabit bir referans adının bulunamamasıdır. Ancak, ActiveSheet.ChartObjects (1) .Çalışmak sadece iyi çalışır ve rasgele seçer. Çok teşekkürler! Ne rahatlama. – user2640906

cevap

1

Tüm grafikleri veya Rastgele olanı seçmek için Grafik Dizinini kullanabilirsiniz. Bunun yerine dizine göre demen gerekiyor adıyla grafiği çağıran

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 
İlgili konular