VBA ceļvedis diagrammām un grafikiem

Satura rādītājs

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

wave wave wave wave wave