अपने डेटा वाले सेल से चार्ट का रंग

समस्या का निरूपण

मैं चाहता हूं कि हिस्टोग्राम पर कॉलम (या पाई चार्ट पर स्लाइस, आदि) स्वचालित रूप से उस रंग को प्राप्त करें जिसका उपयोग स्रोत डेटा के साथ संबंधित कोशिकाओं को भरने के लिए किया गया था:

अलग-अलग साथियों के हैरान और आक्रोशित रोने की आशंका को देखते हुए, यह ध्यान दिया जाना चाहिए कि, निश्चित रूप से, आरेख में भरण का रंग मैन्युअल रूप से भी बदला जा सकता है (स्तंभ पर राइट-क्लिक करें - बिंदु/श्रृंखला प्रारूप (प्रारूप डेटा बिंदु/श्रृंखला) आदि - कोई बहस नहीं करता। लेकिन व्यवहार में, ऐसी कई स्थितियां होती हैं जब डेटा वाले कक्षों में इसे सीधे करना आसान और अधिक सुविधाजनक होता है, और फिर चार्ट को स्वचालित रूप से पुन: चित्रित किया जाना चाहिए। उदाहरण के लिए, इस चार्ट में कॉलम के लिए क्षेत्र द्वारा भरण सेट करने का प्रयास करें:

मुझे लगता है कि आपको विचार मिल गया है, है ना?

उपाय

एक मैक्रो के अलावा कुछ नहीं कर सकता। इसलिए, हम खोलते हैं विजुअल बेसिक एडिटर टैब से विकासक (डेवलपर - विजुअल बेसिक एडिटर) या कीबोर्ड शॉर्टकट दबाएं ऑल्ट + F11, मेनू के माध्यम से एक नया खाली मॉड्यूल डालें सम्मिलित करें - मॉड्यूल और वहां ऐसे मैक्रो के टेक्स्ट को कॉपी करें, जो सभी काम करेगा:

Sub SetChartColorsFromDataCells() अगर TypeName(Selection) <> "ChartArea" तो MsgBox "Сначала выделите диаграмму!" उप अंत से बाहर निकलें यदि सेट c = ActiveChart for j = 1 To c.SeriesCollection.Count f = c.SeriesCollection(j).Formula m = स्प्लिट(f, ",") सेट r = रेंज(m(2)) For i = 1 से r.Cells.Count c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _ r.Cells(i).Interior.Color Next i Next j End Sub  

अब आप Visual Basic को बंद कर सकते हैं और Excel में वापस आ सकते हैं। बनाए गए मैक्रो का उपयोग करना बहुत सरल है। चार्ट का चयन करें (चार्ट क्षेत्र, प्लॉट क्षेत्र, ग्रिड या कॉलम नहीं!):

और बटन के साथ हमारे मैक्रो को चलाएं मैक्रोज़ टैब विकासक (डेवलपर - मैक्रोज़) या कीबोर्ड शॉर्टकट के साथ ऑल्ट + F8. उसी विंडो में, बार-बार उपयोग के मामले में, आप बटन का उपयोग करके मैक्रो को कीबोर्ड शॉर्टकट असाइन कर सकते हैं पैरामीटर्स (विकल्प).

PS

मरहम में एकमात्र मक्खी उन मामलों के लिए समान फ़ंक्शन का उपयोग करने की असंभवता है जहां सशर्त स्वरूपण नियमों का उपयोग करके स्रोत डेटा की कोशिकाओं को रंग सौंपा गया है। दुर्भाग्य से, Visual Basic में इन रंगों को पढ़ने के लिए कोई अंतर्निहित उपकरण नहीं है। बेशक, कुछ "बैसाखी" हैं, लेकिन वे सभी मामलों के लिए काम नहीं करते हैं और सभी संस्करणों में नहीं।

  • मैक्रो क्या हैं, उनका उपयोग कैसे करें, विजुअल बेसिक में मैक्रो कोड कहां डालें
  • एक्सेल 2007-2013 में सशर्त स्वरूपण
  • एक्सेल 2013 में चार्ट में नया क्या है

एक जवाब लिखें