चार्ट और ग्राफ़ के लिए VBA गाइड

विषय - सूची

एक्सेल चार्ट और ग्राफ का उपयोग डेटा को नेत्रहीन रूप से प्रदर्शित करने के लिए किया जाता है। इस ट्यूटोरियल में, हम कवर करने जा रहे हैं कि चार्ट और चार्ट तत्वों को बनाने और उनमें हेरफेर करने के लिए VBA का उपयोग कैसे करें।

आप वर्कशीट में एम्बेडेड चार्ट बना सकते हैं या चार्ट अपने चार्ट शीट पर बना सकते हैं।

VBA का उपयोग करके एक एंबेडेड चार्ट बनाना

हमारे पास श्रेणी A1:B4 है जिसमें स्रोत डेटा शामिल है, जो नीचे दिखाया गया है:

आप चार्टऑब्जेक्ट्स का उपयोग करके एक चार्ट बना सकते हैं। विधि जोड़ें। निम्नलिखित कोड कार्यपत्रक पर एक एम्बेडेड चार्ट बनाएगा:

12345678 उप CreateEmbeddedChartUsingChartObject ()चार्टऑब्जेक्ट के रूप में मंद एम्बेडेडचार्टएम्बेडेड चार्ट सेट करें = शीट्स ("शीट 1")। चार्टऑब्जेक्ट्स। जोड़ें (बाएं: = 180, चौड़ाई: = 300, शीर्ष: = 7, ऊँचाई: = 200)एम्बेडेड चार्ट। चार्ट। सेटसोर्सडेटा स्रोत: = शीट्स ("शीट 1")। रेंज ("ए 1: बी 4")अंत उप

परिणाम है:

आप Shapes.AddChart पद्धति का उपयोग करके एक चार्ट भी बना सकते हैं। निम्नलिखित कोड कार्यपत्रक पर एक एम्बेडेड चार्ट बनाएगा:

12345678 उप CreateEmbeddedChartUsingShapesAddChart ()आकार के रूप में मंद एम्बेडेड चार्टएम्बेडेड चार्ट सेट करें = शीट्स ("शीट 1")। आकार। AddChartएम्बेडेड चार्ट। चार्ट। सेटसोर्सडेटा स्रोत: = शीट्स ("शीट 1")। रेंज ("ए 1: बी 4")अंत उप

VBA का उपयोग करके चार्ट प्रकार निर्दिष्ट करना

हमारे पास श्रेणी A1:B5 है जिसमें स्रोत डेटा शामिल है, जो नीचे दिखाया गया है:

आप चार्टटाइप प्रॉपर्टी का उपयोग करके चार्ट प्रकार निर्दिष्ट कर सकते हैं। निम्नलिखित कोड कार्यपत्रक पर एक पाई चार्ट बनाएगा क्योंकि चार्टटाइप गुण xlPie पर सेट किया गया है:

123456789 उप निर्दिष्ट करेंएचार्ट टाइप ()चार्टऑब्जेक्ट के रूप में मंद chrtChrt = शीट्स ("शीट 1") सेट करें। चार्टऑब्जेक्ट्स। जोड़ें (बाएं: = 180, चौड़ाई: = 270, शीर्ष: = 7, ऊँचाई: = 210)chrt.Chart.SetSourceData स्रोत: = शीट्स ("शीट 1")। रेंज ("ए 1: बी 5")chrt.Chart.ChartType = xlPieअंत उप

परिणाम है:

ये कुछ लोकप्रिय चार्ट प्रकार हैं जिन्हें आमतौर पर निर्दिष्ट किया जाता है, हालांकि कुछ अन्य भी हैं:

  • xlक्षेत्र
  • xlपाई
  • xl लाइन
  • xlरडार
  • xlXYस्कैटर
  • xlसतह
  • xl बबल
  • xlबार क्लस्टर्ड
  • xl कॉलम क्लस्टर्ड

VBA का उपयोग करके चार्ट शीर्षक जोड़ना

हमारे पास वर्कशीट में एक चार्ट चुना गया है जैसा कि नीचे दिखाया गया है:

आपको पहले चार्ट.सेट एलीमेंट पद्धति का उपयोग करके एक चार्ट शीर्षक जोड़ना होगा और फिर चार्ट शीर्षक का टेक्स्ट निर्दिष्ट करना होगा।

निम्न कोड आपको चार्ट शीर्षक जोड़ने और सक्रिय चार्ट के शीर्षक का टेक्स्ट निर्दिष्ट करने का तरीका दिखाता है:

123456 उप जोड़ना और सेटिंगAChartTitle ()ActiveChart.SetElement (msoElementChartTitleAboveChart)ActiveChart.ChartTitle.Text = "उत्पाद की बिक्री"अंत उप

परिणाम है:

नोट: अपने कोड में ActiveChart ऑब्जेक्ट का उपयोग करने में सक्षम होने के लिए आपको इसे सक्रिय चार्ट बनाने के लिए पहले चार्ट का चयन करना होगा।

VBA का उपयोग करके चार्ट की पृष्ठभूमि का रंग बदलना

हमारे पास वर्कशीट में एक चार्ट चुना गया है जैसा कि नीचे दिखाया गया है:

आप ChartArea ऑब्जेक्ट के FillFormat ऑब्जेक्ट की RGB प्रॉपर्टी सेट करके पूरे चार्ट का बैकग्राउंड कलर बदल सकते हैं। निम्नलिखित कोड चार्ट को हल्का नारंगी पृष्ठभूमि रंग देगा:

12345 उप जोड़नाABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Format.Fill.ForeColor.RGB = RGB(253, 242, 227)अंत उप

परिणाम है:

आप चार्टएरिया ऑब्जेक्ट के इंटीरियर ऑब्जेक्ट की ColorIndex प्रॉपर्टी सेट करके पूरे चार्ट का बैकग्राउंड कलर भी बदल सकते हैं। निम्नलिखित कोड चार्ट को एक नारंगी पृष्ठभूमि रंग देगा:

12345 उप जोड़नाABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Interior.ColorIndex = 40अंत उप

परिणाम है:

नोट: ColorIndex प्रॉपर्टी आपको 1 से 56 के मान के आधार पर एक रंग निर्दिष्ट करने की अनुमति देती है, जो प्रीसेट पैलेट से खींचा गया है, यह देखने के लिए कि कौन से मान विभिन्न रंगों का प्रतिनिधित्व करते हैं, यहां क्लिक करें।

VBA का उपयोग करके चार्ट प्लॉट क्षेत्र का रंग बदलना

हमारे पास वर्कशीट में एक चार्ट चुना गया है जैसा कि नीचे दिखाया गया है:

आप PlotArea ऑब्जेक्ट के FillFormat ऑब्जेक्ट की RGB प्रॉपर्टी सेट करके, चार्ट के केवल प्लॉट क्षेत्र की पृष्ठभूमि का रंग बदल सकते हैं। निम्नलिखित कोड चार्ट के प्लॉट क्षेत्र को हल्का हरा पृष्ठभूमि रंग देगा:

12345 उप जोड़नाABackgroundColorToThePlotArea ()ActiveChart.PlotArea.Format.Fill.ForeColor.RGB = RGB (208, 254, 202)अंत उप

परिणाम है:

VBA का उपयोग करके एक लीजेंड जोड़ना

हमारे पास वर्कशीट में चयनित एक चार्ट है, जैसा कि नीचे दिखाया गया है:

आप चार्ट.सेट एलीमेंट विधि का उपयोग करके एक लेजेंड जोड़ सकते हैं। निम्न कोड चार्ट के बाईं ओर एक लेजेंड जोड़ता है:

12345 सब ऐडिंगएलेजेंड ()ActiveChart.SetElement (msoElementLegendLeft)अंत उप

परिणाम है:

आप किंवदंती की स्थिति को निम्नलिखित तरीकों से निर्दिष्ट कर सकते हैं:

  • msoElementLegendLeft - चार्ट के बाईं ओर लेजेंड प्रदर्शित करता है।
  • msoElementLegendLeftOverlay - चार्ट के बाईं ओर लेजेंड को ओवरले करता है।
  • msoElementLegendRight - चार्ट के दाईं ओर लेजेंड प्रदर्शित करता है।
  • msoElementLegendRightOverlay - चार्ट के दाईं ओर लेजेंड को ओवरले करता है।
  • msoElementLegendBottom - चार्ट के निचले भाग में लेजेंड प्रदर्शित करता है।
  • msoElementLegendTop - चार्ट के शीर्ष पर लेजेंड प्रदर्शित करता है।

VBA का उपयोग करके डेटा लेबल जोड़ना

हमारे पास वर्कशीट में चयनित एक चार्ट है, जैसा कि नीचे दिखाया गया है:

आप चार्ट.सेट एलीमेंट विधि का उपयोग करके डेटा लेबल जोड़ सकते हैं। निम्न कोड चार्ट के अंदरूनी छोर पर डेटा लेबल जोड़ता है:

12345 उप AddingADataLabels ()ActiveChart.SetElement msoElementDataLabelInsideEndअंत उप

परिणाम है:

आप निर्दिष्ट कर सकते हैं कि डेटा लेबल निम्न तरीकों से किस प्रकार स्थित हैं:

  • msoElementDataLabelShow - डेटा लेबल प्रदर्शित करें।
  • msoElementDataLabelRight - चार्ट के दाईं ओर डेटा लेबल प्रदर्शित करता है।
  • msoElementDataLabelLeft - चार्ट के बाईं ओर डेटा लेबल प्रदर्शित करता है।
  • msoElementDataLabelTop - चार्ट के शीर्ष पर डेटा लेबल प्रदर्शित करता है।
  • msoElementDataLabelBestFit - सर्वोत्तम फिट निर्धारित करता है।
  • msoElementDataLabelBottom - चार्ट के निचले भाग में डेटा लेबल प्रदर्शित करता है।
  • msoElementDataLabelCallout - डेटा लेबल को कॉलआउट के रूप में प्रदर्शित करता है।
  • msoElementDataLabelCenter - केंद्र पर डेटा लेबल प्रदर्शित करता है।
  • msoElementDataLabelInsideBase - आंतरिक आधार पर डेटा लेबल प्रदर्शित करता है।
  • msoElementDataLabelOutSideEnd - चार्ट के बाहरी छोर पर डेटा लेबल प्रदर्शित करता है।
  • msoElementDataLabelInsideEnd - चार्ट के अंदरूनी छोर पर डेटा लेबल प्रदर्शित करता है।

वीबीए में एक्स-अक्ष और शीर्षक जोड़ना

हमारे पास वर्कशीट में चयनित एक चार्ट है, जैसा कि नीचे दिखाया गया है:

आप चार्ट.सेट एलीमेंट विधि का उपयोग करके एक्स-अक्ष और एक्स-अक्ष शीर्षक जोड़ सकते हैं। निम्न कोड चार्ट में X-अक्ष और X-अक्ष शीर्षक जोड़ता है:

123456789 उप जोड़नाAnXAxisandXTitle ()एक्टिव चार्ट के साथ.SetElement msoElementPrimaryCategoryAxisShow.SetElement msoElementPrimaryCategoryAxisTitleHorizontalके साथ समाप्त करनाअंत उप

परिणाम है:

VBA में Y-अक्ष और शीर्षक जोड़ना

हमारे पास वर्कशीट में चयनित एक चार्ट है, जैसा कि नीचे दिखाया गया है:

आप Chart.SetElement पद्धति का उपयोग करके Y-अक्ष और Y-अक्ष शीर्षक जोड़ सकते हैं। निम्न कोड चार्ट में Y-अक्ष और Y-अक्ष शीर्षक जोड़ता है:

1234567 उप जोड़नाAYAxisandYTitle()एक्टिव चार्ट के साथ.SetElement msoElementPrimaryValueAxisShow.SetElement msoElementPrimaryValueAxisTitleHorizontalके साथ समाप्त करनाअंत उप

परिणाम है:

एक अक्ष का संख्या स्वरूप बदलना

हमारे पास वर्कशीट में चयनित एक चार्ट है, जैसा कि नीचे दिखाया गया है:

आप किसी अक्ष का संख्या स्वरूप बदल सकते हैं। निम्न कोड y-अक्ष के संख्या स्वरूप को मुद्रा में बदलता है:

12345 उप परिवर्तन TheNumberFormat ()ActiveChart.Axes(xlValue).TickLabels.NumberFormat = "$#,##0.00"अंत उप

परिणाम है:

चार्ट में फॉन्ट की फ़ॉर्मेटिंग बदलना

हमारे पास वर्कशीट में निम्न चार्ट चयनित है जैसा कि नीचे दिखाया गया है:

आप फ़ॉन्ट ऑब्जेक्ट का संदर्भ देकर और उसका नाम, फ़ॉन्ट वजन और आकार बदलकर संपूर्ण चार्ट फ़ॉन्ट का स्वरूपण बदल सकते हैं। निम्नलिखित कोड पूरे चार्ट के फ़ॉन्ट के प्रकार, वजन और आकार को बदलता है।

12345678910 सब चेंजिंग TheFontFormatting ()एक्टिव चार्ट के साथ.ChartArea.Format.TextFrame2.TextRange.Font.Name = "टाइम्स न्यू रोमन".ChartArea.Format.TextFrame2.TextRange.Font.Bold = True.ChartArea.Format.TextFrame2.TextRange.Font.Size = 14के साथ समाप्त करना

परिणाम है:

VBA का उपयोग करके चार्ट को हटाना

हमारे पास वर्कशीट में चयनित एक चार्ट है, जैसा कि नीचे दिखाया गया है:

इस चार्ट को हटाने के लिए हम निम्नलिखित कोड का उपयोग कर सकते हैं:

12345 उप हटानाद चार्ट ()सक्रिय चार्ट.अभिभावक.हटाएंअंत उप

चार्टऑब्जेक्ट्स संग्रह का जिक्र करते हुए

आप चार्टऑब्जेक्ट संग्रह का हवाला देकर अपनी कार्यपत्रक या कार्यपुस्तिका में सभी एम्बेडेड चार्ट तक पहुंच सकते हैं। हमारे पास नीचे दिखाए गए एक ही शीट पर दो चार्ट हैं:

वर्कशीट पर दोनों चार्ट को समान ऊंचाई, चौड़ाई देने, ग्रिडलाइन को हटाने, पृष्ठभूमि का रंग समान बनाने, चार्ट को समान प्लॉट क्षेत्र का रंग देने और प्लॉट क्षेत्र लाइन को समान रंग देने के लिए हम चार्टऑब्जेक्ट संग्रह का उल्लेख करेंगे। रंग:

12345678910111213141516 सब रेफ़रिंगToAllTheChartsOnASheet ()चार्टऑब्जेक्ट के रूप में मंद चैटActiveSheet.ChartObjects में प्रत्येक चैट के लिएcht.ऊंचाई = 144.85cht.चौड़ाई = 246.61cht.Chart.Axes(xlValue).MajorGridlines.Deletecht.Chart.PlotArea.Format.Fill.ForeColor.RGB = RGB(242, 242, 242)cht.Chart.ChartArea.Format.Fill.ForeColor.RGB = RGB (234, 234, 234)cht.Chart.PlotArea.Format.Line.ForeColor.RGB = RGB(18, 97, 172)अगली बातचीतअंत उप

परिणाम है:

अपने स्वयं के चार्ट शीट पर एक चार्ट सम्मिलित करना

हमारे पास श्रेणी A1:B6 है जिसमें स्रोत डेटा शामिल है, जो नीचे दिखाया गया है:

आप चार्ट का उपयोग करके एक चार्ट बना सकते हैं। विधि जोड़ें। निम्नलिखित कोड अपनी चार्ट शीट पर एक चार्ट बनाएगा:

123456 सब इंसर्टिंगAChartOnItsOwnChartSheet ()शीट्स ("शीट 1")। रेंज ("ए 1: बी 6")। चुनेंचार्ट।जोड़ेंअंत उप

परिणाम है:

हमारे कुछ अन्य चार्टिंग ट्यूटोरियल देखें:

एक्सेल में चार्ट

वीबीए में बार चार्ट बनाएं

wave wave wave wave wave