VBA juhend diagrammide ja graafikute jaoks

Lang L: none (table-of-contents)

Andmete visuaalseks kuvamiseks kasutatakse Exceli diagramme ja graafikuid. Selles õpetuses käsitleme, kuidas kasutada VBA -d diagrammide ja diagrammielementide loomiseks ja nendega manipuleerimiseks.

Manustatud diagramme saate luua töölehel või diagramme oma diagrammilehtedel.

Manustatud diagrammi loomine VBA abil

Meil on vahemik A1: B4, mis sisaldab alltoodud allikaandmeid:

Diagrammi saate luua ChartObjects.Add meetodi abil. Järgmine kood loob töölehele manustatud diagrammi:

12345678 Sub CreateEmbeddedChartUsingChartObject ()Sisseehitatud diagrammi hämardamine ChartObjectinaMäära embeddedchart = Sheets ("Sheet1"). ChartObjects.Add (vasakul: = 180, laius: = 300, ülaosa: = 7, kõrgus: = 200)embeddedchart.Chart.SetSourceData Allikas: = Sheets ("Sheet1"). Vahemik ("A1: B4")End Sub

Tulemuseks on:

Diagrammi saate luua ka Shapes.AddChart meetodi abil. Järgmine kood loob töölehele manustatud diagrammi:

12345678 Sub CreateEmbeddedChartUsingShapesAddChart ()Sisseehitatud diagramm kujundinaSet embeddedchart = Sheets ("Sheet1"). Shapes.AddChartembeddedchart.Chart.SetSourceData Allikas: = Sheets ("Sheet1"). Vahemik ("A1: B4")End Sub

Diagrammitüübi määramine VBA abil

Meil on vahemik A1: B5, mis sisaldab alltoodud allikaandmeid:

Diagrammi tüübi saate määrata atribuudi ChartType abil. Järgmine kood loob töölehele sektordiagrammi, kuna atribuudi ChartType väärtuseks on määratud xlPie:

123456789 AlammääratlusAChartType ()Dim chrt nagu ChartObjectMäära chrt = Sheets ("Sheet1"). ChartObjects.Add (vasakul: = 180, laius: = 270, ülaosa: = 7, kõrgus: = 210)chrt.Chart.SetSourceData Allikas: = Sheets ("Sheet1"). Vahemik ("A1: B5")chrt.Chart.ChartType = xlPieEnd Sub

Tulemuseks on:

Need on mõned populaarsed diagrammitüübid, mida tavaliselt täpsustatakse, kuigi on ka teisi:

  • xlPind
  • xlPie
  • xlLine
  • xlRadar
  • xlXYScatter
  • xlPind
  • xlBubble
  • xlBarClastered
  • xlVeergKlasterdatud

Diagrammi pealkirja lisamine VBA abil

Meil on töölehel valitud diagramm, nagu allpool näidatud:

Esmalt peate diagrammi pealkirja lisama, kasutades meetodit Chart.SetElement ja seejärel määrama diagrammi pealkirja teksti, määrates atribuudi ChartTitle.Text.

Järgmine kood näitab diagrammi pealkirja lisamist ja aktiivse diagrammi pealkirja teksti määramist.

123456 Sub AddingAndSettingAChartTitle ()ActiveChart.SetElement (msoElementChartTitleAboveChart)ActiveChart.ChartTitle.Text = "Toote müük"End Sub

Tulemuseks on:

Märkus. Esmalt peate diagrammi valima, et muuta see aktiivseks diagrammiks, et saaksite oma koodis kasutada ActiveCharti objekti.

Diagrammi taustavärvi muutmine VBA abil

Meil on töölehel valitud diagramm, nagu allpool näidatud:

Saate muuta kogu diagrammi taustavärvi, määrates ChartArea objekti FillFormat objekti RGB atribuudi. Järgmine kood annab diagrammile heleoranži taustavärvi:

12345 Alamosa lisamineABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Format.Fill.ForeColor.RGB = RGB (253, 242, 227)End Sub

Tulemuseks on:

Samuti saate muuta kogu diagrammi taustavärvi, määrates objekti ChartArea atribuudi Interior sisustuse ColorIndex. Järgmine kood annab diagrammile oranži taustavärvi:

12345 Alamosa lisamineABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Interior.ColorIndex = 40End Sub

Tulemuseks on:

Märkus. Atribuut ColorIndex võimaldab teil määrata värvi, mis põhineb eelseadistatud paletilt saadud väärtusel 1 kuni 56, et näha, millised väärtused esindavad erinevaid värve, klõpsake siin.

Diagrammi graafiku ala värvi muutmine VBA abil

Meil on töölehel valitud diagramm, nagu allpool näidatud:

Saate muuta ainult diagrammi jooniseala taustavärvi, määrates PlotArea objekti FillFormat objekti RGB atribuudi. Järgmine kood annab diagrammi graafiku alale helerohelise taustavärvi:

12345 Alamosa lisamineABackgroundColorToThePlotArea ()ActiveChart.PlotArea.Format.Fill.ForeColor.RGB = RGB (208, 254, 202)End Sub

Tulemuseks on:

Legendi lisamine VBA abil

Meil on töölehel valitud diagramm, nagu allpool näidatud:

Legendi saate lisada Chart.SetElement meetodi abil. Järgmine kood lisab diagrammi vasakule poole legendi:

12345 Alamlisand ALEgend ()ActiveChart.SetElement (msoElementLegendLeft)End Sub

Tulemuseks on:

Legendi asukoha saate määrata järgmistel viisidel.

  • msoElementLegendLeft - kuvab diagrammi vasakul küljel oleva legendi.
  • msoElementLegendLeftOverlay - katab diagrammi vasakul küljel oleva legendi.
  • msoElementLegendRight - kuvab diagrammi paremas servas oleva legendi.
  • msoElementLegendRightOverlay - katab diagrammi paremas servas oleva legendi.
  • msoElementLegendBottom - kuvab diagrammi allosas oleva legendi.
  • msoElementLegendTop - kuvab legendi diagrammi ülaosas.

Andmesiltide lisamine VBA abil

Meil on töölehel valitud diagramm, nagu allpool näidatud:

Andmesilte saate lisada Chart.SetElement meetodi abil. Järgmine kood lisab diagrammi siseküljele andmesildid:

12345 Alam LisamineADataLabels ()ActiveChart.SetElement msoElementDataLabelInsideEndEnd Sub

Tulemuseks on:

Andmesiltide paigutuse saate määrata järgmistel viisidel.

  • msoElementDataLabelShow - kuvab andmesildid.
  • msoElementDataLabelRight - kuvab diagrammi paremal pool andmesildid.
  • msoElementDataLabelLeft - kuvab diagrammi vasakul küljel olevad andmesildid.
  • msoElementDataLabelTop - kuvab diagrammi ülaosas andmesildid.
  • msoElementDataLabelBestFit - määrab parima sobivuse.
  • msoElementDataLabelBottom - kuvab diagrammi allosas andmesildid.
  • msoElementDataLabelCallout - kuvab andmesildid tähelepanulaiendina.
  • msoElementDataLabelCenter - kuvab keskel andmesildid.
  • msoElementDataLabelInsideBase - kuvab andmesildid sisemisel baasil.
  • msoElementDataLabelOutSideEnd - kuvab diagrammi välisküljel andmesildid.
  • msoElementDataLabelInsideEnd - kuvab diagrammi siseküljel andmesildid.

X-telje ja pealkirja lisamine VBA-sse

Meil on töölehel valitud diagramm, nagu allpool näidatud:

X-telje ja X-telje pealkirja saate lisada Chart.SetElement meetodi abil. Järgmine kood lisab diagrammile X-telje ja X-telje pealkirja:

123456789 Alamosa lisamineAnXAxisandXTitle ()ActiveCharti abil.SetElement msoElementPrimaryCategoryAxisShow.SetElement msoElementPrimaryCategoryAxisTitleHorizontalLõpetaEnd Sub

Tulemuseks on:

Y-telje ja pealkirja lisamine VBA-sse

Meil on töölehel valitud diagramm, nagu allpool näidatud:

Y-telje ja Y-telje pealkirja saate lisada Chart.SetElement meetodi abil. Järgmine kood lisab diagrammile Y-telje ja Y-telje pealkirja:

1234567 Alamosa lisamineAYAxisandYTitle ()ActiveCharti abil.SetElement msoElementPrimaryValueAxisShow.SetElement msoElementPrimaryValueAxisTitleHorizontalLõpetaEnd Sub

Tulemuseks on:

Telje numbrivormingu muutmine

Meil on töölehel valitud diagramm, nagu allpool näidatud:

Saate muuta telje numbrivormingut. Järgmine kood muudab y-telje numbrivormingu valuutaks:

12345 AlammuutmineTheNumberFormat ()ActiveChart.Axes (xlValue) .TickLabels.NumberFormat = "$#, ## 0.00"End Sub

Tulemuseks on:

Diagrammi fondi vormingu muutmine

Meil on töölehel valitud järgmine diagramm, nagu allpool näidatud:

Saate muuta kogu diagrammi fondi vormingut, viidates fondiobjektile ja muutes selle nime, fondi kaalu ja suurust. Järgmine kood muudab kogu diagrammi fondi tüüpi, kaalu ja suurust.

12345678910 AlammuudatusedFontFormatting ()ActiveCharti abil.ChartArea.Format.TextFrame2.TextRange.Font.Name = "Times New Roman".ChartArea.Format.TextFrame2.TextRange.Font.Bold = Tõsi.ChartArea.Format.TextFrame2.TextRange.Font.Size = 14Lõpeta

Tulemuseks on:

Diagrammi kustutamine VBA abil

Meil on töölehel valitud diagramm, nagu allpool näidatud:

Selle diagrammi kustutamiseks võime kasutada järgmist koodi:

12345 Alamkaardi kustutamineTheChart ()ActiveChart.Parent.DeleteEnd Sub

Viidates kogumikule ChartObjects

Kõigile töölehe või töövihiku manustatud diagrammidele pääsete juurde, viidates ChartObjects kogumikule. Meil on samal lehel kaks diagrammi, mis on näidatud allpool:

Viidame kogumikule ChartObjects, et anda töölehe mõlemale diagrammile sama kõrgus, laius, kustutada ruudustikjooned, muuta taustavärv sama, anda diagrammidele sama graafiku pindala ja muuta graafiku ala joone värv sama värv:

12345678910111213141516 AlamviideToAllTheChartsOnASheet ()Dim cht Nagu ChartObjectIga cht ActiveSheet.ChartObjectscht. Kõrgus = 144,85cht. Laius = 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)Järgmine chtEnd Sub

Tulemuseks on:

Diagrammi lisamine oma diagrammilehele

Meil on vahemik A1: B6, mis sisaldab alltoodud allikaandmeid:

Diagrammi saate luua meetodi Charts.Add abil. Järgmine kood loob diagrammi oma diagrammilehele:

123456 Alammärk AChartOnItsOwnChartSheet ()Lehed ("Sheet1"). Vahemik ("A1: B6"). ValigeDiagrammid. LisaEnd Sub

Tulemuseks on:

Vaadake mõnda muud meie graafikute koostamise õpetust:

Diagrammid Excelis

Looge tulpdiagramm VBA -s

wave wave wave wave wave