2013-08-12 5 views
6

संदर्भित किए बिना चार्ट का चयन करना मैं चार्ट संख्या जानने के बिना वीबीए का उपयोग करके एक्सेल में शीट पर एक यादृच्छिक चार्ट चुनना चाहता हूं क्योंकि चार्ट हमेशा संख्या में बदलता है। क्या कोई मदद कर सकता है? क्या चार्ट संख्या का संदर्भ दिए बिना चार्ट का चयन करना संभव है? मैं सक्रिय चार्ट का चार्ट नाम बदलना चाहता हूं।चार्ट संख्या

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

नाम से चार्ट को कॉल करने के बजाय आपको इसे इंडेक्स द्वारा कॉल करने की आवश्यकता है: 'ActiveSheet.ChartObjects (1)' Activesheet 'में पहले एक के लिए। यादृच्छिक संख्या में 1 को बदलना आपको यादृच्छिक संदर्भ देगा। –

+0

यदि आप सक्रिय चार्ट चाहते हैं, तो 'Selection.Name = "..." ' –

+0

धन्यवाद KazJaw और LS_dev का उपयोग करें। कारण मुझे इसकी आवश्यकता है क्योंकि मेरा चार्ट हमेशा अपडेट होता है, इसका नाम बदलता है और इसलिए मेरे पास फिक्स संदर्भ नाम नहीं हो सकता है। हालांकि, ActiveSheet.ChartObjects (1)। कार्य को ठीक से ठीक करें और यह यादृच्छिक रूप से चयन करता है। बहुत बहुत धन्यवाद! जान में जान आई। – 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 
संबंधित मुद्दे