VBA Vodnik za grafikone in grafikone

Kazalo

Excelovi grafikoni in grafi se uporabljajo za vizualni prikaz podatkov. V tej vadnici bomo obravnavali, kako uporabiti VBA za ustvarjanje in upravljanje grafikonov in elementov grafikona.

Ustvarite lahko vdelane grafikone na delovnem listu ali grafikone na lastnih listih grafikonov.

Ustvarjanje vdelanega grafikona z uporabo VBA

Imamo obseg A1: B4, ki vsebuje izvorne podatke, prikazane spodaj:

Grafikon lahko ustvarite z metodo ChartObjects.Add. Naslednja koda bo ustvarila vdelani grafikon na delovnem listu:

12345678 Sub CreateEmbeddedChartUsingChartObject ()Zatemni vdelani grafikon kot ChartObjectNastavi embeddedchart = Sheets ("Sheet1"). ChartObjects.Add (Levo: = 180, Širina: = 300, Zgoraj: = 7, Višina: = 200)embeddedchart.Chart.SetSourceData Vir: = Sheets ("Sheet1"). Range ("A1: B4")End Sub

Rezultat je:

Graf lahko ustvarite tudi z metodo Shapes.AddChart. Naslednja koda bo ustvarila vdelani grafikon na delovnem listu:

12345678 Sub CreateEmbeddedChartUsingShapesAddChart ()Zatemni vdelani grafikon kot oblikoNastavi embeddedchart = Sheets ("Sheet1"). Shapes.AddChartembeddedchart.Chart.SetSourceData Vir: = Sheets ("Sheet1"). Range ("A1: B4")End Sub

Določanje vrste grafikona z uporabo VBA

Imamo obseg A1: B5, ki vsebuje izvorne podatke, prikazane spodaj:

Vrsto grafikona lahko določite z lastnostjo ChartType. Naslednja koda bo ustvarila tortni grafikon na delovnem listu, ker je bila lastnost ChartType nastavljena na xlPie:

123456789 PodnavediteAChartType ()Zatemni črt kot ChartObjectNastavi chrt = Sheets ("Sheet1"). ChartObjects.Add (Levo: = 180, Širina: = 270, Zgoraj: = 7, Višina: = 210)chrt.Chart.SetSourceData Vir: = Sheets ("Sheet1"). Range ("A1: B5")chrt.Chart.ChartType = xlPieEnd Sub

Rezultat je:

To so nekatere izmed priljubljenih vrst grafikonov, ki so običajno določene, čeprav obstajajo še druge:

  • xlArea
  • xlPie
  • xlLine
  • xlRadar
  • xlXYScatter
  • xlSurface
  • xlBubble
  • xlBarClustered
  • xlColumnClustered

Dodajanje naslova grafikona z uporabo VBA

Na delovnem listu imamo izbran grafikon, kot je prikazano spodaj:

Naslov grafikona morate najprej dodati z metodo Chart.SetElement, nato pa določiti besedilo naslova grafikona tako, da nastavite lastnost ChartTitle.Text.

Naslednja koda prikazuje, kako dodate naslov grafikona in določite besedilo naslova aktivnega grafikona:

123456 Sub AddingAndSettingAChartTitle ()ActiveChart.SetElement (msoElementChartTitleAboveChart)ActiveChart.ChartTitle.Text = "Prodaja izdelka"End Sub

Rezultat je:

Opomba: Najprej morate izbrati grafikon, da postane aktivni grafikon, da bo lahko uporabljal predmet ActiveChart v svoji kodi.

Spreminjanje barve ozadja grafikona z uporabo VBA

Na delovnem listu imamo izbran grafikon, kot je prikazano spodaj:

Barvo ozadja celotnega grafikona lahko spremenite tako, da nastavite lastnost RGB predmeta FillFormat predmeta ChartArea. Naslednja koda bo grafikonu dala svetlo oranžno barvo ozadja:

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

Rezultat je:

Barvo ozadja celotnega grafikona lahko spremenite tudi tako, da nastavite lastnost ColorIndex predmeta Interior objekta ChartArea. Naslednja koda bo grafikonu dala oranžno barvo ozadja:

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

Rezultat je:

Opomba: Lastnost ColorIndex vam omogoča, da določite barvo na podlagi vrednosti od 1 do 56, vzeto iz prednastavljene palete, če si želite ogledati, katere vrednosti predstavljajo različne barve, kliknite tukaj.

Spreminjanje barve območja grafikona z uporabo VBA

Na delovnem listu imamo izbran grafikon, kot je prikazano spodaj:

Barvo ozadja samo območja grafikona lahko spremenite tako, da nastavite lastnost RGB predmeta FillFormat predmeta PlotArea. Naslednja koda bo površini grafikona dala svetlo zeleno barvo ozadja:

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

Rezultat je:

Dodajanje legende z uporabo VBA

Na delovnem listu imamo izbran grafikon, kot je prikazano spodaj:

Legendo lahko dodate z metodo Chart.SetElement. Naslednja koda doda legendo na levi strani grafikona:

12345 SubAddingALegend ()ActiveChart.SetElement (msoElementLegendLeft)End Sub

Rezultat je:

Položaj legende lahko določite na naslednje načine:

  • msoElementLegendLeft - prikaže legendo na levi strani grafikona.
  • msoElementLegendLeftOverlay - prekriva legendo na levi strani grafikona.
  • msoElementLegendRight - prikaže legendo na desni strani grafikona.
  • msoElementLegendRightOverlay - prekriva legendo na desni strani grafikona.
  • msoElementLegendBottom - prikaže legendo na dnu grafikona.
  • msoElementLegendTop - prikaže legendo na vrhu grafikona.

Dodajanje podatkovnih oznak z uporabo VBA

Na delovnem listu imamo izbran grafikon, kot je prikazano spodaj:

Podatkovne oznake lahko dodate z metodo Chart.SetElement. Naslednja koda doda oznake podatkov na notranji konec grafikona:

12345 SubAddingADataLabels ()ActiveChart.SetElement msoElementDataLabelInsideEndEnd Sub

Rezultat je:

Kako so oznake podatkov postavljene, lahko določite na naslednje načine:

  • msoElementDataLabelShow - prikaz podatkovnih oznak.
  • msoElementDataLabelRight - prikaže podatkovne oznake na desni strani grafikona.
  • msoElementDataLabelLeft - prikaže podatkovne oznake na levi strani grafikona.
  • msoElementDataLabelTop - prikaže podatkovne oznake na vrhu grafikona.
  • msoElementDataLabelBestFit - določa najboljše prileganje.
  • msoElementDataLabelBottom - prikaže podatkovne oznake na dnu grafikona.
  • msoElementDataLabelCallout - prikaže podatkovne oznake kot oblaček.
  • msoElementDataLabelCenter - prikaže podatkovne oznake na sredini.
  • msoElementDataLabelInsideBase - prikaže podatkovne oznake na notranji bazi.
  • msoElementDataLabelOutSideEnd - prikaže podatkovne oznake na zunanjem koncu grafikona.
  • msoElementDataLabelInsideEnd - prikaže podatkovne oznake na notranjem koncu grafikona.

Dodajanje osi X in naslova v VBA

Na delovnem listu imamo izbran grafikon, kot je prikazano spodaj:

Naslov osi X in osi X lahko dodate z metodo Chart.SetElement. Naslednja koda doda grafikon osi X in X osi:

123456789 Dodatno dodajanjeAnXAxisandXTitle ()Z ActiveChart.SetElement msoElementPrimaryCategoryAxisShow.SetElement msoElementPrimaryCategoryAxisTitleHorizontalKončaj sEnd Sub

Rezultat je:

Dodajanje osi Y in naslova v VBA

Na delovnem listu imamo izbran grafikon, kot je prikazano spodaj:

Naslov osi Y in osi Y lahko dodate z metodo Chart.SetElement. Naslednja koda doda grafikon osi Y in osi Y:

1234567 Sub AddingAYAxisandYTitle ()Z ActiveChart.SetElement msoElementPrimaryValueAxisShow.SetElement msoElementPrimaryValueAxisTitleHorizontalKončaj sEnd Sub

Rezultat je:

Spreminjanje številske oblike osi

Na delovnem listu imamo izbran grafikon, kot je prikazano spodaj:

Obliko številk osi lahko spremenite. Naslednja koda spremeni obliko številke osi y v valuto:

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

Rezultat je:

Spreminjanje oblikovanja pisave v grafikonu

Na delovnem listu imamo izbran naslednji grafikon, kot je prikazano spodaj:

Oblikovanje celotne pisave grafikona lahko spremenite tako, da se sklicujete na predmet pisave in spremenite njegovo ime, težo pisave in velikost. Naslednja koda spremeni vrsto, težo in velikost pisave celotnega grafikona.

12345678910 Sub ChangingTheFontFormatting ()Z ActiveChart.ChartArea.Format.TextFrame2.TextRange.Font.Name = "Times New Roman".ChartArea.Format.TextFrame2.TextRange.Font.Bold = True.ChartArea.Format.TextFrame2.TextRange.Font.Size = 14Končaj s

Rezultat je:

Brisanje grafikona z uporabo VBA

Na delovnem listu imamo izbran grafikon, kot je prikazano spodaj:

Za izbris tega grafikona lahko uporabimo naslednjo kodo:

12345 Podbrisanje grafikona ()ActiveChart.Parent.DeleteEnd Sub

Sklicuje se na zbirko ChartObjects

Do vseh vdelanih grafikonov na svojem delovnem listu ali v delovnem zvezku lahko dostopate s pomočjo zbirke ChartObjects. Spodaj imamo dva grafikona na istem listu:

Sklicali se bomo na zbirko ChartObjects, da bi obema grafikonoma na delovnem listu dali enako višino, širino, izbrisali mrežne črte, naredili enako barvo ozadja, dali grafikonom enako barvo območja ploskve in barvo črte območja ploskve enako. barva:

12345678910111213141516 Sub ReferringToAllTheChartsOnASheet ()Zatemni cht kot ChartObjectZa vsak cht v ActiveSheet.ChartObjectscht.Height = 144.85širina = 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)Naslednji chtEnd Sub

Rezultat je:

Vstavljanje grafikona na lastni list grafikona

Imamo obseg A1: B6, ki vsebuje izvorne podatke, prikazane spodaj:

Grafikon lahko ustvarite z metodo Charts.Add. Naslednja koda bo ustvarila grafikon na svojem listu z grafikoni:

123456 Sub InsertingAChartOnItsOwnChartSheet ()Listi ("List1"). Obseg ("A1: B6"). IzberiteLestvice.DodajEnd Sub

Rezultat je:

Oglejte si nekaj drugih naših vaj za grafikone:

Grafikoni v Excelu

Ustvarite stolpčni grafikon v VBA

wave wave wave wave wave