Excelin kaavioita ja kaavioita käytetään tietojen visuaaliseen näyttämiseen. Tässä opetusohjelmassa aiomme käsitellä VBA: n käyttöä kaavioiden ja kaavioelementtien luomiseen ja käsittelyyn.
Voit luoda upotettuja kaavioita laskentataulukkoon tai kaavioita omille kaavioarkkeilleen.
Upotetun kaavion luominen VBA: n avulla
Meillä on alue A1: B4, joka sisältää lähdetiedot, jotka on esitetty alla:
Voit luoda kaavion käyttämällä ChartObjects.Add -menetelmää. Seuraava koodi luo upotetun kaavion laskentataulukkoon:
12345678 | Sub CreateEmbeddedChartUsingChartObject ()Dim embeddedchart kuten ChartObjectAseta embeddedchart = Sheets ("Sheet1"). ChartObjects.Add (Vasen: = 180, Leveys: = 300, Ylä: = 7, Korkeus: = 200)embeddedchart.Chart.SetSourceData Lähde: = Sheets ("Sheet1"). Alue ("A1: B4")End Sub |
Tulos on:
Voit myös luoda kaavion Shapes.AddChart -menetelmällä. Seuraava koodi luo upotetun kaavion laskentataulukkoon:
12345678 | Sub CreateEmbeddedChartUsingShapesAddChart ()Dim embeddedchart as ShapeAseta embeddedchart = Sheets ("Sheet1"). Shapes.AddChartembeddedchart.Chart.SetSourceData Lähde: = Sheets ("Sheet1"). Alue ("A1: B4")End Sub |
Kaaviotyypin määrittäminen VBA: n avulla
Meillä on alue A1: B5, joka sisältää lähdetiedot, jotka on esitetty alla:
Voit määrittää kaavion tyypin ChartType -ominaisuuden avulla. Seuraava koodi luo ympyräkaavion laskentataulukkoon, koska ChartType -ominaisuuden arvoksi on asetettu xlPie:
123456789 | AlimääritysAChartType ()Dim chrt ChartObjectinaAseta chrt = Sheets ("Sheet1"). ChartObjects.Add (Vasen: = 180, Leveys: = 270, Yläosa: = 7, Korkeus: = 210)chrt.Chart.SetSourceData Lähde: = Sheets ("Sheet1"). Alue ("A1: B5")chrt.Chart.ChartType = xlPieEnd Sub |
Tulos on:
Nämä ovat joitain suosittuja kaaviotyyppejä, jotka yleensä määritetään, vaikka on muitakin:
- xlArea
- xlPie
- xlLine
- xlRadar
- xlXYScatter
- xlPinta
- xlBubble
- xlBarClastered
- xlColumnClastered
Kaavion otsikon lisääminen VBA: n avulla
Laskentataulukkoon on valittu kaavio alla esitetyllä tavalla:
Sinun on ensin lisättävä kaavion otsikko käyttämällä Chart.SetElement -menetelmää ja määritettävä sitten kaavion otsikon teksti asettamalla ChartTitle.Text -ominaisuus.
Seuraava koodi näyttää, kuinka voit lisätä kaavion otsikon ja määrittää aktiivisen kaavion otsikon tekstin:
123456 | Sub AddingAndSettingAChartTitle ()ActiveChart.SetElement (msoElementChartTitleAboveChart)ActiveChart.ChartTitle.Text = "Tuotteen myynti"End Sub |
Tulos on:
Huomautus: Sinun on ensin valittava kaavio, jotta siitä tulee aktiivinen kaavio, jotta voit käyttää koodissasi olevaa ActiveChart -objektia.
Kaavion taustavärin muuttaminen VBA: n avulla
Laskentataulukkoon on valittu kaavio alla esitetyllä tavalla:
Voit muuttaa koko kaavion taustaväriä asettamalla ChartArea -objektin FillFormat -objektin RGB -ominaisuuden. Seuraava koodi antaa kaavion vaalean oranssin taustavärin:
12345 | AlalisäysABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Format.Fill.ForeColor.RGB = RGB (253, 242, 227)End Sub |
Tulos on:
Voit myös muuttaa koko kaavion taustaväriä asettamalla ChartArea -objektin Interior -objektin ColorIndex -ominaisuuden. Seuraava koodi antaa kaavion oranssille taustavärille:
12345 | AlalisäysABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Interior.ColorIndex = 40End Sub |
Tulos on:
Huomautus: ColorIndex -ominaisuuden avulla voit määrittää värin, joka perustuu arvoon 1-56, joka on piirretty esiasetetusta paletista, nähdäksesi mitkä arvot edustavat eri värejä napsauttamalla tätä.
Kaavion piirtoalueen värin muuttaminen VBA: n avulla
Laskentataulukkoon on valittu kaavio alla esitetyllä tavalla:
Voit muuttaa vain kaavion piirtoalueen taustaväriä asettamalla PlotArea -objektin FillFormat -objektin RGB -ominaisuuden. Seuraava koodi antaa kaavion piirtoalueelle vaaleanvihreän taustavärin:
12345 | AlalisäysABackgroundColorToThePlotArea ()ActiveChart.PlotArea.Format.Fill.ForeColor.RGB = RGB (208, 254, 202)End Sub |
Tulos on:
Selitteen lisääminen VBA: n avulla
Laskentataulukkoon on valittu kaavio alla esitetyllä tavalla:
Voit lisätä selitteen Chart.SetElement -menetelmällä. Seuraava koodi lisää selityksen kaavion vasemmalle puolelle:
12345 | AlalisäysALegend ()ActiveChart.SetElement (msoElementLegendLeft)End Sub |
Tulos on:
Voit määrittää selitteen sijainnin seuraavilla tavoilla:
- msoElementLegendLeft - näyttää selityksen kaavion vasemmalla puolella.
- msoElementLegendLeftOverlay - peittää kaavion vasemmalla puolella olevan selityksen.
- msoElementLegendRight - näyttää selityksen kaavion oikealla puolella.
- msoElementLegendRightOverlay - peittää kaavion oikealla puolella olevan selityksen.
- msoElementLegendBottom - näyttää selityksen kaavion alareunassa.
- msoElementLegendTop - näyttää selityksen kaavion yläosassa.
Tietojen lisääminen VBA: n avulla
Laskentataulukkoon on valittu kaavio alla esitetyllä tavalla:
Voit lisätä datatarroja Chart.SetElement -menetelmällä. Seuraava koodi lisää datatarrat kaavion sisäpuolelle:
12345 | AlalisäysADataLabels ()ActiveChart.SetElement msoElementDataLabelInsideEndEnd Sub |
Tulos on:
Voit määrittää, miten datatarrat sijoitetaan seuraavilla tavoilla:
- msoElementDataLabelShow - näyttää datatarrat.
- msoElementDataLabelRight - näyttää datatarrat kaavion oikealla puolella.
- msoElementDataLabelLeft - näyttää datatarrat kaavion vasemmalla puolella.
- msoElementDataLabelTop - näyttää datatarrat kaavion yläosassa.
- msoElementDataLabelBestFit - määrittää parhaan istuvuuden.
- msoElementDataLabelBottom - näyttää datatarrat kaavion alareunassa.
- msoElementDataLabelCallout - näyttää datatarrat huomiotekstinä.
- msoElementDataLabelCenter - näyttää datatarrat keskellä.
- msoElementDataLabelInsideBase - näyttää tietokannat sisäpohjassa.
- msoElementDataLabelOutSideEnd - näyttää datatarrat kaavion ulkopuolella.
- msoElementDataLabelInsideEnd - näyttää datatarrat kaavion sisäpuolella.
X-akselin ja otsikon lisääminen VBA: han
Laskentataulukkoon on valittu kaavio alla esitetyllä tavalla:
Voit lisätä X-akselin ja X-akselin otsikon Chart.SetElement-menetelmällä. Seuraava koodi lisää kaavioon X-akselin ja X-akselin otsikon:
123456789 | AlalisäysAnXAxisandXTitle ()ActiveChartin kanssa.SetElement msoElementPrimaryCategoryAxisShow.SetElement msoElementPrimaryCategoryAxisTitleHorizontalLopetaEnd Sub |
Tulos on:
Y-akselin ja otsikon lisääminen VBA: han
Laskentataulukkoon on valittu kaavio alla esitetyllä tavalla:
Voit lisätä Y-akselin ja Y-akselin otsikon Chart.SetElement-menetelmällä. Seuraava koodi lisää Y-akselin ja Y-akselin otsikon kaavioon:
1234567 | AlalisäysAYAxisandYTitle ()ActiveChartin kanssa.SetElement msoElementPrimaryValueAxisShow.SetElement msoElementPrimaryValueAxisTitleHorizontalLopetaEnd Sub |
Tulos on:
Akselin numeromuodon muuttaminen
Laskentataulukkoon on valittu kaavio alla esitetyllä tavalla:
Voit muuttaa akselin lukumuotoa. Seuraava koodi muuttaa y-akselin numeromuodon valuutaksi:
12345 | AlimuutosTheNumberFormat ()ActiveChart.Axes (xlValue) .TickLabels.NumberFormat = "$#, ## 0.00"End Sub |
Tulos on:
Kaavion fontin muotoilun muuttaminen
Laskentataulukkoon on valittu seuraava kaavio:
Voit muuttaa koko kaavion fontin muotoilua viittaamalla fonttiobjektiin ja muuttamalla sen nimeä, kirjasimen painoa ja kokoa. Seuraava koodi muuttaa koko kaavion fontin tyypin, painon ja koon.
12345678910 | AlimuutosTheFontFormatting ()ActiveChartin kanssa.ChartArea.Format.TextFrame2.TextRange.Font.Name = "Times New Roman".ChartArea.Format.TextFrame2.TextRange.Font.Bold = Tosi.ChartArea.Format.TextFrame2.TextRange.Font.Size = 14Lopeta |
Tulos on:
Kaavion poistaminen VBA: n avulla
Laskentataulukkoon on valittu kaavio alla esitetyllä tavalla:
Voimme käyttää seuraavaa koodia tämän kaavion poistamiseen:
12345 | AlapoistoTheChart ()ActiveChart.Parent.DeleteEnd Sub |
Viitaten ChartObjects -kokoelmaan
Voit käyttää kaikkia laskentataulukon tai työkirjan upotettuja kaavioita viittaamalla ChartObjects -kokoelmaan. Meillä on kaksi kaaviota samassa taulukossa alla:
Viittaamme ChartObjects -kokoelmaan antaaksemme molemmille laskentataulukon kaavioille saman korkeuden, leveyden, poistamalla ruudukon viivat, tehdäksemme taustaväristä saman, antaaksemme kaavioille saman juoni -alueen värin ja tehdäksesi kuvaaja -alueen viivan väristä saman väri:
12345678910111213141516 | AliviittausToAllTheChartsOnASheet ()Dim cht Kuten ChartObjectJokaista cht ActiveSheet.ChartObjectscht. korkeus = 144,85cht. leveys = 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)Seuraava chtEnd Sub |
Tulos on:
Kaavion lisääminen omalle kaavioarkille
Meillä on alue A1: B6, joka sisältää lähdetiedot, jotka on esitetty alla:
Voit luoda kaavion Charts.Add -menetelmällä. Seuraava koodi luo kaavion omalle kaavioarkille:
123456 | Alakuvan lisääminenAChartOnItsOwnChartSheet ()Sheets ("Sheet1"). Alue ("A1: B6"). ValitseKaaviot LisääEnd Sub |
Tulos on:
Katso joitain muita kartoitusoppaitamme:
Kaaviot Excelissä
Luo pylväskaavio VBA: ssa