एक्सेल चार्ट और ग्राफ का उपयोग डेटा को नेत्रहीन रूप से प्रदर्शित करने के लिए किया जाता है। इस ट्यूटोरियल में, हम कवर करने जा रहे हैं कि चार्ट और चार्ट तत्वों को बनाने और उनमें हेरफेर करने के लिए 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")। चुनेंचार्ट।जोड़ेंअंत उप |
परिणाम है:
हमारे कुछ अन्य चार्टिंग ट्यूटोरियल देखें:
एक्सेल में चार्ट
वीबीए में बार चार्ट बनाएं