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