VBA vodič za grafikone i grafikone

Sadržaj

Excel grafikoni i grafikoni koriste se za vizualni prikaz podataka. U ovom ćemo vodiču pokriti kako koristiti VBA za stvaranje i upravljanje grafikonima i elementima grafikona.

Možete stvoriti ugrađene grafikone na radnom listu ili grafikone na vlastitim listovima grafikona.

Stvaranje ugrađenog grafikona pomoću VBA

Imamo raspon A1: B4 koji sadrži izvorne podatke, prikazane u nastavku:

Grafikon možete stvoriti pomoću metode ChartObjects.Add. Sljedeći kôd stvorit će ugrađeni grafikon na radnom listu:

12345678 Pod CreateEmbeddedChartUsingChartObject ()Zatamni ugrađeni grafikon kao ChartObjectPostavi embeddedchart = Sheets ("Sheet1"). ChartObjects.Add (lijevo: = 180, širina: = 300, vrh: = 7, visina: = 200)embeddedchart.Chart.SetSourceData Izvor: = Sheets ("Sheet1"). Raspon ("A1: B4")Kraj podm

Rezultat je:

Također možete stvoriti grafikon pomoću metode Shapes.AddChart. Sljedeći kôd stvorit će ugrađeni grafikon na radnom listu:

12345678 Pod CreateEmbeddedChartUsingShapesAddChart ()Zatamni ugrađeni grafikon kao oblikPostavi embeddedchart = Sheets ("Sheet1"). Shapes.AddChartembeddedchart.Chart.SetSourceData Izvor: = Sheets ("Sheet1"). Raspon ("A1: B4")Kraj podm

Određivanje vrste grafikona pomoću VBA

Imamo raspon A1: B5 koji sadrži izvorne podatke, dolje prikazane:

Vrstu grafikona možete odrediti pomoću svojstva ChartType. Sljedeći kôd će stvoriti tortni grafikon na radnom listu budući da je svojstvo ChartType postavljeno na xlPie:

123456789 PododrediteAChartType ()Zatamni crtu kao ChartObjectPostavi chrt = listove ("list1"). ChartObjects.Add (lijevo: = 180, širina: = 270, vrh: = 7, visina: = 210)chrt.Chart.SetSourceData Izvor: = Sheets ("Sheet1"). Raspon ("A1: B5")chrt.Chart.ChartType = xlPieKraj podm

Rezultat je:

Ovo su neke od popularnih vrsta grafikona koje se obično navode, iako postoje i druge:

  • xlArea
  • xlPie
  • xlLine
  • xlRadar
  • xlXYScatter
  • xlPovršina
  • xlBubble
  • xlBarClustered
  • xlColumnClustered

Dodavanje naslova grafikona pomoću VBA

Na radnom listu imamo odabran grafikon kako je prikazano u nastavku:

Naslov grafikona morate prvo dodati metodom Chart.SetElement, a zatim odrediti tekst naslova grafikona postavljanjem svojstva ChartTitle.Text.

Sljedeći kôd pokazuje kako dodati naslov grafikona i odrediti tekst naslova aktivnog grafikona:

123456 Dodatno dodavanjeAndSettingAChartTitle ()ActiveChart.SetElement (msoElementChartTitleAboveChart)ActiveChart.ChartTitle.Text = "Prodaja proizvoda"Kraj podm

Rezultat je:

Napomena: Najprije morate odabrati grafikon kako bi postao aktivni grafikon kako bi mogao koristiti objekt ActiveChart u svom kodu.

Promjena boje pozadine grafikona pomoću VBA

Na radnom listu imamo odabran grafikon kako je prikazano u nastavku:

Boju pozadine cijelog grafikona možete promijeniti postavljanjem RGB svojstva objekta FillFormat objekta ChartArea. Sljedeći kôd grafikonu daje svijetlo narančastu boju pozadine:

12345 Dodatno dodavanjeBackgroundColorToTheChartArea ()ActiveChart.ChartArea.Format.Fill.ForeColor.RGB = RGB (253, 242, 227)Kraj podm

Rezultat je:

Također možete promijeniti boju pozadine cijelog grafikona postavljanjem svojstva ColorIndex objekta Interior objekta ChartArea. Sljedeći kôd će grafikonu dati narančastu boju pozadine:

12345 Dodatno dodavanjeBackgroundColorToTheChartArea ()ActiveChart.ChartArea.Interior.ColorIndex = 40Kraj podm

Rezultat je:

Napomena: Svojstvo ColorIndex omogućuje vam da odredite boju na temelju vrijednosti od 1 do 56, izvučene iz unaprijed zadane palete, da vidite koje vrijednosti predstavljaju različite boje, kliknite ovdje.

Promjena boje područja grafikona pomoću VBA

Na radnom listu imamo odabran grafikon kako je prikazano u nastavku:

Možete promijeniti boju pozadine samo područja iscrtavanja grafikona postavljanjem RGB svojstva objekta FillFormat objekta PlotArea. Sljedeći kôd daje površini grafikona svjetlozelenu boju pozadine:

12345 Dodatno dodavanjeBackgroundColorToThePlotArea ()ActiveChart.PlotArea.Format.Fill.ForeColor.RGB = RGB (208, 254, 202)Kraj podm

Rezultat je:

Dodavanje legende pomoću VBA -a

Na radnom listu imamo odabran grafikon, kao što je prikazano u nastavku:

Legendu možete dodati pomoću metode Chart.SetElement. Sljedeći kôd dodaje legendu s lijeve strane grafikona:

12345 Dodatno dodavanjeALegend ()ActiveChart.SetElement (msoElementLegendLeft)Kraj podm

Rezultat je:

Položaj legende možete odrediti na sljedeće načine:

  • msoElementLegendLeft - prikazuje legendu s lijeve strane grafikona.
  • msoElementLegendLeftOverlay - prekriva legendu s lijeve strane grafikona.
  • msoElementLegendRight - prikazuje legendu s desne strane grafikona.
  • msoElementLegendRightOverlay - prekriva legendu s desne strane grafikona.
  • msoElementLegendBottom - prikazuje legendu na dnu grafikona.
  • msoElementLegendTop - prikazuje legendu na vrhu grafikona.

Dodavanje oznaka podataka pomoću VBA

Na radnom listu imamo odabran grafikon, kao što je prikazano u nastavku:

Oznake podataka možete dodati pomoću metode Chart.SetElement. Sljedeći kôd dodaje oznake podataka na unutarnji kraj grafikona:

12345 Dodatno dodavanjeADataLabels ()ActiveChart.SetElement msoElementDataLabelInsideEndKraj podm

Rezultat je:

Možete postaviti način na koji su oznake podataka postavljene na sljedeće načine:

  • msoElementDataLabelShow - prikazuje oznake podataka.
  • msoElementDataLabelRight - prikazuje oznake podataka s desne strane grafikona.
  • msoElementDataLabelLeft - prikazuje oznake podataka s lijeve strane grafikona.
  • msoElementDataLabelTop - prikazuje oznake podataka pri vrhu grafikona.
  • msoElementDataLabelBestFit - određuje najbolje prilagođavanje.
  • msoElementDataLabelBottom - prikazuje oznake podataka pri dnu grafikona.
  • msoElementDataLabelCallout - prikazuje oznake podataka kao dodatni opis.
  • msoElementDataLabelCenter - prikazuje podatkovne oznake u središtu.
  • msoElementDataLabelInsideBase - prikazuje oznake podataka na unutarnjoj bazi.
  • msoElementDataLabelOutSideEnd - prikazuje oznake podataka na vanjskom kraju grafikona.
  • msoElementDataLabelInsideEnd - prikazuje oznake podataka na unutarnjem kraju grafikona.

Dodavanje osi X i naslova u VBA

Na radnom listu imamo odabran grafikon, kao što je prikazano u nastavku:

Naslov osi X i osi X možete dodati pomoću metode Chart.SetElement. Sljedeći kôd dodaje naslov osi X i osi na grafikon:

123456789 Dodatno dodavanjeAnXAxisandXTitle ()Uz ActiveChart.SetElement msoElementPrimaryCategoryAxisShow.SetElement msoElementPrimaryCategoryAxisTitleHorizontalZavrši sKraj podm

Rezultat je:

Dodavanje osi Y i naslova u VBA

Na radnom listu imamo odabran grafikon, kao što je prikazano u nastavku:

Naslov Y-osi i Y-osi možete dodati pomoću metode Chart.SetElement. Sljedeći kôd dodaje grafikonu naslov Y i Y osi:

1234567 Dodatno dodavanjeAYAxisandYTitle ()Uz ActiveChart.SetElement msoElementPrimaryValueAxisShow.SetElement msoElementPrimaryValueAxisTitleHorizontalZavrši sKraj podm

Rezultat je:

Promjena formata broja osi

Na radnom listu imamo odabran grafikon, kao što je prikazano u nastavku:

Možete promijeniti format broja osi. Sljedeći kôd mijenja format broja osi y u valutu:

12345 Sub ChangingTheNumberFormat ()ActiveChart.Axes (xlValue) .TickLabels.NumberFormat = "$#, ## 0.00"Kraj podm

Rezultat je:

Promjena oblikovanja fonta na grafikonu

Sljedeći grafikon smo odabrali na radnom listu kao što je prikazano u nastavku:

Možete promijeniti oblikovanje cijelog fonta grafikona pozivanjem na objekt fonta i promjenom njegovog naziva, težine fonta i veličine. Sljedeći kôd mijenja vrstu, težinu i veličinu fonta cijelog grafikona.

12345678910 Sub ChangingTheFontFormatting ()Uz ActiveChart.ChartArea.Format.TextFrame2.TextRange.Font.Name = "Times New Roman".Područje grafikona.Format.TextFrame2.TextRange.Font.Bold = True.Područje grafikona.Format.TextFrame2.TextRange.Font.Size = 14Završi s

Rezultat je:

Brisanje grafikona pomoću VBA

Na radnom listu imamo odabran grafikon, kao što je prikazano u nastavku:

Za brisanje ovog grafikona možemo koristiti sljedeći kôd:

12345 Podbrisanje grafikona ()ActiveChart.Parent.DeleteKraj podm

Pozivajući se na zbirku ChartObjects

Svim ugrađenim grafikonima na radnom listu ili radnoj knjizi možete pristupiti ako pogledate zbirku ChartObjects. Imamo dva grafikona na istom listu prikazanom ispod:

Upućivat ćemo na zbirku ChartObjects kako bismo dali oba grafikona na radnom listu jednaku visinu, širinu, izbrisali crte mreže, učinili boju pozadine istom, dali grafikonima istu boju područja grafikona i učinili boju linije crte grafikona istom boja:

12345678910111213141516 Sub ReferringToAllTheChartsOnASheet ()Zatamni kao ChartObjectZa svaki cht u ActiveSheet.ChartObjectscht.Visina = 144,85cht.Width = 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)Sljedeće poglKraj podm

Rezultat je:

Umetanje grafikona na vlastiti list grafikona

Imamo raspon A1: B6 koji sadrži izvorne podatke, prikazane u nastavku:

Grafikon možete stvoriti pomoću metode Charts.Add. Sljedeći kôd će stvoriti grafikon na vlastitom listu grafikona:

123456 Pod umetanjeAchartOnItsOwnChartSheet ()Listovi ("List1"). Raspon ("A1: B6"). OdaberiteGrafikoni.DodajKraj podm

Rezultat je:

Pogledajte neke od naših drugih vodiča za crtanje:

Grafikoni u Excelu

Izradite trakasti grafikon u VBA -i

wave wave wave wave wave