Excel diagrammas un diagrammas tiek izmantotas, lai vizuāli parādītu datus. Šajā apmācībā mēs apskatīsim, kā izmantot VBA, lai izveidotu un manipulētu ar diagrammām un diagrammas elementiem.
Jūs varat izveidot iegultās diagrammas darblapā vai diagrammas savās diagrammu lapās.
Iegultās diagrammas izveide, izmantojot VBA
Mums ir diapazons A1: B4, kas satur avota datus, kas parādīti zemāk:
Diagrammu var izveidot, izmantojot metodi ChartObjects.Add. Šis kods darblapā izveidos iegulto diagrammu:
12345678 | Sub CreateEmbeddedChartUsingChartObject ()Iegultās diagrammas aptumšošana kā ChartObjectIestatīt embeddedchart = Sheets ("Sheet1"). ChartObjects.Add (pa kreisi: = 180, platums: = 300, augšdaļa: = 7, augstums: = 200)embeddedchart.Chart.SetSourceData Avots: = Sheets ("Sheet1"). Diapazons ("A1: B4")Beigu apakš |
Rezultāts ir šāds:
Diagrammu var izveidot arī, izmantojot metodi Shapes.AddChart. Šis kods darblapā izveidos iegulto diagrammu:
12345678 | Sub CreateEmbeddedChartUsingShapesAddChart ()Iegultās diagrammas aptumšošana kā formaSet embeddedchart = Sheets ("Sheet1"). Shapes.AddChartembeddedchart.Chart.SetSourceData Avots: = Sheets ("Sheet1"). Diapazons ("A1: B4")Beigu apakš |
Diagrammas tipa norādīšana, izmantojot VBA
Mums ir diapazons A1: B5, kas satur avota datus, kas parādīti zemāk:
Diagrammas veidu varat norādīt, izmantojot rekvizītu ChartType. Šis rekvizīts darblapā izveidos sektoru diagrammu, jo ChartType rekvizīts ir iestatīts uz xlPie:
123456789 | ApakšnorādītAChartType ()Dim chrt Kā ChartObjectIestatīt chrt = Sheets ("Sheet1"). ChartObjects.Add (pa kreisi: = 180, platums: = 270, augšā: = 7, augstums: = 210)chrt.Chart.SetSourceData Avots: = Sheets ("Sheet1"). Diapazons ("A1: B5")chrt.Chart.ChartType = xlPieBeigu apakš |
Rezultāts ir šāds:
Šie ir daži no populārajiem diagrammu veidiem, kas parasti tiek norādīti, lai gan ir arī citi:
- xlArea
- xlPie
- xlLine
- xlRadar
- xlXYScatter
- xlSurface
- xlBurbulis
- xlBarClastered
- xlColumnClastered
Diagrammas nosaukuma pievienošana, izmantojot VBA
Mēs esam atlasījuši diagrammu darblapā, kā parādīts zemāk:
Vispirms jāpievieno diagrammas nosaukums, izmantojot metodi Chart.SetElement, un pēc tam norādiet diagrammas nosaukuma tekstu, iestatot rekvizītu ChartTitle.Text.
Šis kods parāda, kā pievienot diagrammas nosaukumu un norādīt aktīvās diagrammas nosaukuma tekstu:
123456 | Sub AddingAndSettingAChartTitle ()ActiveChart.SetElement (msoElementChartTitleAboveChart)ActiveChart.ChartTitle.Text = "Produkta pārdošana"Beigu apakš |
Rezultāts ir šāds:
Piezīme. Vispirms jāizvēlas diagramma, lai tā būtu aktīvā diagramma, lai varētu izmantot ActiveChart objektu savā kodā.
Diagrammas fona krāsas maiņa, izmantojot VBA
Mēs esam atlasījuši diagrammu darblapā, kā parādīts zemāk:
Jūs varat mainīt visas diagrammas fona krāsu, iestatot objekta ChartArea FillFormat rekvizītu RGB. Šāds kods diagrammai piešķirs gaiši oranžu fona krāsu:
12345 | Apakšdaļas pievienošanaBackgroundColorToTheChartArea ()ActiveChart.ChartArea.Format.Fill.ForeColor.RGB = RGB (253, 242, 227)Beigu apakš |
Rezultāts ir šāds:
Varat arī mainīt visas diagrammas fona krāsu, iestatot objekta ChartArea rekvizītu Iekšējais ColorIndex. Šis kods diagrammai piešķirs oranžu fona krāsu:
12345 | Apakšdaļas pievienošanaBackgroundColorToTheChartArea ()ActiveChart.ChartArea.Interior.ColorIndex = 40Beigu apakš |
Rezultāts ir šāds:
Piezīme: rekvizīts ColorIndex ļauj norādīt krāsu, pamatojoties uz vērtību no 1 līdz 56, kas iegūta no iepriekš iestatītās paletes, lai redzētu, kuras vērtības attēlo dažādas krāsas, noklikšķiniet šeit.
Diagrammas diagrammas apgabala krāsas maiņa, izmantojot VBA
Mēs esam atlasījuši diagrammu darblapā, kā parādīts zemāk:
Jūs varat mainīt tikai diagrammas diagrammas laukuma fona krāsu, iestatot objekta PlotArea FillFormat rekvizītu RGB. Šis kods diagrammas laukumam piešķirs gaiši zaļu fona krāsu:
12345 | Apakšdaļa PievienojotABackColorToThePlotArea ()ActiveChart.PlotArea.Format.Fill.ForeColor.RGB = RGB (208, 254, 202)Beigu apakš |
Rezultāts ir šāds:
Leģendas pievienošana, izmantojot VBA
Mēs esam atlasījuši diagrammu darblapā, kā parādīts zemāk:
Leģendu var pievienot, izmantojot metodi Chart.SetElement. Šis kods diagrammas kreisajā pusē pievieno leģendu:
12345 | Sub AddingALegend ()ActiveChart.SetElement (msoElementLegendLeft)Beigu apakš |
Rezultāts ir šāds:
Leģendas atrašanās vietu varat norādīt šādos veidos:
- msoElementLegendLeft - parāda leģendu diagrammas kreisajā pusē.
- msoElementLegendLeftOverlay - pārklāj leģendu diagrammas kreisajā pusē.
- msoElementLegendRight - parāda leģendu diagrammas labajā pusē.
- msoElementLegendRightOverlay - pārklāj leģendu diagrammas labajā pusē.
- msoElementLegendBottom - parāda leģendu diagrammas apakšā.
- msoElementLegendTop - parāda leģendu diagrammas augšdaļā.
Datu etiķešu pievienošana, izmantojot VBA
Mēs esam atlasījuši diagrammu darblapā, kā parādīts zemāk:
Datu etiķetes var pievienot, izmantojot metodi Chart.SetElement. Šis kods pievieno datu etiķetes diagrammas iekšpusē:
12345 | Papildu pievienošanaADataLabels ()ActiveChart.SetElement msoElementDataLabelInsideEndBeigu apakš |
Rezultāts ir šāds:
Datu etiķešu izvietojumu varat norādīt šādos veidos:
- msoElementDataLabelShow - parādīt datu etiķetes.
- msoElementDataLabelRight - parāda datu etiķetes diagrammas labajā pusē.
- msoElementDataLabelLeft - parāda datu etiķetes diagrammas kreisajā pusē.
- msoElementDataLabelTop - parāda datu etiķetes diagrammas augšdaļā.
- msoElementDataLabelBestFit - nosaka piemērotāko.
- msoElementDataLabelBottom - parāda datu etiķetes diagrammas apakšā.
- msoElementDataLabelCallout - parāda datu etiķetes kā norādi.
- msoElementDataLabelCenter - parāda datu etiķetes centrā.
- msoElementDataLabelInsideBase - parāda datu etiķetes pamatnes iekšpusē.
- msoElementDataLabelOutSideEnd - parāda datu etiķetes diagrammas ārējā galā.
- msoElementDataLabelInsideEnd - parāda datu etiķetes diagrammas iekšpusē.
X ass un nosaukuma pievienošana VBA
Mēs esam atlasījuši diagrammu darblapā, kā parādīts zemāk:
Jūs varat pievienot X ass un X ass nosaukumu, izmantojot Chart.SetElement metodi. Šis kods diagrammai pievieno X ass un X ass nosaukumu:
123456789 | Sub AddingAnXAxisandXTitle ()Ar ActiveChart.SetElement msoElementPrimaryCategoryAxisShow.SetElement msoElementPrimaryCategoryAxisTitleHorizontalBeigt arBeigu apakš |
Rezultāts ir šāds:
Y ass un nosaukuma pievienošana VBA
Mēs esam atlasījuši diagrammu darblapā, kā parādīts zemāk:
Jūs varat pievienot Y ass un Y ass nosaukumu, izmantojot Chart.SetElement metodi. Šis kods diagrammai pievieno Y ass un Y ass nosaukumu:
1234567 | Papildu pievienošanaAYAxisandYTitle ()Ar ActiveChart.SetElement msoElementPrimaryValueAxisShow.SetElement msoElementPrimaryValueAxisTitleHorizontalBeigt arBeigu apakš |
Rezultāts ir šāds:
Asu skaitļa formāta maiņa
Mēs esam atlasījuši diagrammu darblapā, kā parādīts zemāk:
Jūs varat mainīt ass skaitļu formātu. Šis kods maina y ass skaitļu formātu uz valūtu:
12345 | ApakšmainaTheNumberFormat ()ActiveChart.Axes (xlValue) .TickLabels.NumberFormat = "$#, ## 0.00"Beigu apakš |
Rezultāts ir šāds:
Fonta formatējuma maiņa diagrammā
Mēs esam atlasījuši šādu diagrammu darblapā, kā parādīts zemāk:
Jūs varat mainīt visa diagrammas fonta formatējumu, atsaucoties uz fonta objektu un mainot tā nosaukumu, fonta svaru un lielumu. Šis kods maina visas diagrammas fonta veidu, svaru un lielumu.
12345678910 | ApakšmainaTheFontFormatting ()Ar ActiveChart.ChartArea.Format.TextFrame2.TextRange.Font.Name = "Times New Roman".ChartArea.Format.TextFrame2.TextRange.Font.Bold = Patiesa.ChartArea.Format.TextFrame2.TextRange.Font.Size = 14Beigt ar |
Rezultāts ir šāds:
Diagrammas dzēšana, izmantojot VBA
Mēs esam atlasījuši diagrammu darblapā, kā parādīts zemāk:
Lai izdzēstu šo diagrammu, mēs varam izmantot šādu kodu:
12345 | ApakšdzēšanaTheChart ()ActiveChart.Parent.DeleteBeigu apakš |
Atsaucoties uz ChartObjects kolekciju
Jūs varat piekļūt visām iegultām diagrammām savā darblapā vai darbgrāmatā, atsaucoties uz ChartObjects kolekciju. Mums ir divas diagrammas uz vienas lapas, kas parādīta zemāk:
Mēs izmantosim ChartObjects kolekciju, lai abām darblapas diagrammām piešķirtu vienādu augstumu, platumu, dzēstu režģlīnijas, padarītu vienādu fona krāsu, diagrammām piešķirtu tādu pašu zemes gabala krāsu un grafika laukuma līnijas krāsu padarītu vienādu krāsa:
12345678910111213141516 | ApakšatsauceToAllTheChartsOnASheet ()Dim cht Kā ChartObjectPar katru cht ActiveSheet.ChartObjectscht. Augstums = 144,85cht. Platums = 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)Nākamais chtBeigu apakš |
Rezultāts ir šāds:
Diagrammas ievietošana savā diagrammas lapā
Mums ir diapazons A1: B6, kas satur avota datus, kas parādīti zemāk:
Diagrammu var izveidot, izmantojot metodi Charts.Add. Šis kods izveidos diagrammu savā diagrammas lapā:
123456 | Apakšdaļas ievietošanaAChartOnItsOwnChartSheet ()Izklājlapas ("Sheet1"). Diapazons ("A1: B6"). AtlasietDiagrammas. PievienotBeigu apakš |
Rezultāts ir šāds:
Skatiet dažas citas mūsu diagrammu veidošanas apmācības:
Diagrammas programmā Excel
Izveidojiet joslu diagrammu VBA