VBA útmutató diagramokhoz és grafikonokhoz

Tartalomjegyzék

Az Excel grafikonok és grafikonok az adatok vizuális megjelenítésére szolgálnak. Ebben az oktatóanyagban kitérünk arra, hogyan használhatjuk a VBA -t diagramok és diagramelemek létrehozásához és kezeléséhez.

Beágyazott diagramokat hozhat létre munkalapon, vagy diagramokat saját diagramlapjain.

Beágyazott diagram létrehozása a VBA segítségével

Az A1: B4 tartomány tartalmazza az alábbi forrásadatokat:

Diagramot a ChartObjects.Add metódussal hozhat létre. A következő kód beágyazott diagramot hoz létre a munkalapon:

12345678 Sub CreateEmbeddedChartUsingChartObject ()Beágyazott diagram halványítása ChartObject -kéntEmbeddedchart = Sheets ("Sheet1") beállítása. ChartObjects.Add (balra: = 180, szélesség: = 300, felül: = 7, magasság: = 200)embeddedchart.Chart.SetSourceData Forrás: = Táblázatok ("Sheet1"). Tartomány ("A1: B4")End Sub

Az eredmény:

Diagramot a Shapes.AddChart metódussal is létrehozhat. A következő kód beágyazott diagramot hoz létre a munkalapon:

12345678 Sub CreateEmbeddedChartUsingShapesAddChart ()Beágyazott diagram halványítása alakzatkéntSet embeddedchart = Sheets ("Sheet1"). Shapes.AddChartembeddedchart.Chart.SetSourceData Forrás: = Táblázatok ("Sheet1"). Tartomány ("A1: B4")End Sub

Diagramtípus megadása VBA használatával

Az A1: B5 tartomány tartalmazza az alábbi forrásadatokat:

A diagramtípust a ChartType tulajdonság segítségével adhatja meg. A következő kód kördiagramot hoz létre a munkalapon, mivel a ChartType tulajdonság xlPie értékre van állítva:

123456789 Rész megadásaAChartType ()Dim chrt mint ChartObjectÁllítsa be a chrt = Sheets ("Sheet1"). ChartObjects.Add (Bal: = 180, Szélesség: = 270, Felső: = 7, Magasság: = 210)chrt.Chart.SetSourceData Forrás: = Táblázatok ("Sheet1"). Tartomány ("A1: B5")chrt.Chart.ChartType = xlPieEnd Sub

Az eredmény:

Ezek a népszerű diagramtípusok, amelyeket általában megadnak, bár vannak mások is:

  • xlArea
  • xlPie
  • xlLine
  • xlRadar
  • xlXYScatter
  • xlFelület
  • xlBuborék
  • xlBarClastered
  • xlColumnClastered

Diagramcím hozzáadása a VBA használatával

A munkalapon egy diagramot választottunk ki az alábbiak szerint:

Először hozzá kell adnia egy diagramcímet a Chart.SetElement metódussal, majd a ChartTitle.Text tulajdonság beállításával meg kell adnia a diagram címének szövegét.

A következő kód bemutatja, hogyan adhat hozzá diagramcímet, és hogyan adhatja meg az aktív diagram címének szövegét:

123456 Sub AddingAndSettingAChartTitle ()ActiveChart.SetElement (msoElementChartTitleAboveChart)ActiveChart.ChartTitle.Text = "A termék értékesítése"End Sub

Az eredmény:

Megjegyzés: Először ki kell választania a diagramot, hogy az aktív diagram legyen, hogy képes legyen használni az ActiveChart objektumot a kódjában.

A diagram háttérszínének megváltoztatása a VBA használatával

A munkalapon egy diagramot választottunk ki az alábbiak szerint:

A ChartArea objektum FillFormat objektumának RGB tulajdonságának beállításával módosíthatja a teljes diagram háttérszínét. A következő kód világos narancssárga háttérszínt ad a diagramnak:

12345 Al hozzáadásaBackgroundColorToTheChartArea ()ActiveChart.ChartArea.Format.Fill.ForeColor.RGB = RGB (253, 242, 227)End Sub

Az eredmény:

A ChartArea objektum Belső objektumának ColorIndex tulajdonságának beállításával módosíthatja a teljes diagram háttérszínét is. A következő kód narancssárga háttérszínt ad a diagramnak:

12345 Al hozzáadásaBackgroundColorToTheChartArea ()ActiveChart.ChartArea.Interior.ColorIndex = 40End Sub

Az eredmény:

Megjegyzés: A ColorIndex tulajdonság lehetővé teszi, hogy színt adjon meg az előre beállított palettáról rajzolt 1 és 56 közötti értékek alapján, és nézze meg, hogy mely értékek képviselik a különböző színeket, kattintson ide.

A diagram diagramterületének színének megváltoztatása a VBA segítségével

A munkalapon egy diagramot választottunk ki az alábbiak szerint:

A PlotArea objektum FillFormat objektumának RGB tulajdonságának beállításával csak a diagram ábrázolási területének háttérszínét módosíthatja. A következő kód világos diagram háttérszínt ad a diagram ábrázolási területének:

12345 Al hozzáadásaABackgroundColorToThePlotArea ()ActiveChart.PlotArea.Format.Fill.ForeColor.RGB = RGB (208, 254, 202)End Sub

Az eredmény:

Legenda hozzáadása a VBA használatával

Egy táblázatot választottunk ki a munkalapon, az alábbiak szerint:

Jelmagyarázatot hozzáadhat a Chart.SetElement metódussal. A következő kód egy jelmagyarázatot ad a diagram bal oldalán:

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

Az eredmény:

A jelmagyarázat pozícióját a következő módokon adhatja meg:

  • msoElementLegendLeft - a jelmagyarázatot jeleníti meg a diagram bal oldalán.
  • msoElementLegendLeftOverlay - átfedi a diagram bal oldalán található jelmagyarázatot.
  • msoElementLegendRight - megjeleníti a jelmagyarázatot a diagram jobb oldalán.
  • msoElementLegendRightOverlay - átfedi a diagram jobb oldalán található jelmagyarázatot.
  • msoElementLegendBottom - a diagram alján lévő jelmagyarázatot jeleníti meg.
  • msoElementLegendTop - megjeleníti a jelmagyarázatot a diagram tetején.

Adatcímkék hozzáadása a VBA használatával

Egy táblázatot választottunk ki a munkalapon, az alábbiak szerint:

Adatcímkéket adhat hozzá a Chart.SetElement metódussal. A következő kód adatcímkéket ad hozzá a diagram belső végéhez:

12345 AdatLabels () hozzáadásaActiveChart.SetElement msoElementDataLabelInsideEndEnd Sub

Az eredmény:

Az adatcímkék elhelyezését az alábbi módokon adhatja meg:

  • msoElementDataLabelShow - adatcímkék megjelenítése.
  • msoElementDataLabelRight - az adatcímkéket jeleníti meg a diagram jobb oldalán.
  • msoElementDataLabelLeft - az adatcímkéket jeleníti meg a diagram bal oldalán.
  • msoElementDataLabelTop - az adatcímkéket jeleníti meg a diagram tetején.
  • msoElementDataLabelBestFit - meghatározza a legjobb illeszkedést.
  • msoElementDataLabelBottom - az adatcímkéket jeleníti meg a diagram alján.
  • msoElementDataLabelCallout - az adatcímkéket kiemelésként jeleníti meg.
  • msoElementDataLabelCenter - az adatcímkéket jeleníti meg a központban.
  • msoElementDataLabelInsideBase - megjeleníti az adatcímkéket a belső bázison.
  • msoElementDataLabelOutSideEnd - megjeleníti az adatcímkéket a diagram külső végén.
  • msoElementDataLabelInsideEnd - az adatcímkéket jeleníti meg a diagram belső végén.

X tengely és cím hozzáadása a VBA-ban

Egy táblázatot választottunk ki a munkalapon, az alábbiak szerint:

X-tengely és X-tengely címet adhat hozzá a Chart.SetElement módszerrel. A következő kód hozzáad egy X-tengely és X-tengely címet a diagramhoz:

123456789 Sub AddingAnXAxisandXTitle ()ActiveChart segítségével.SetElement msoElementPrimaryCategoryAxisShow.SetElement msoElementPrimaryCategoryAxisTitleHorizontalVége ezzelEnd Sub

Az eredmény:

Y tengely és cím hozzáadása a VBA-ban

Egy táblázatot választottunk ki a munkalapon, az alábbiak szerint:

Y-tengely és Y-tengely címet adhat hozzá a Chart.SetElement módszerrel. A következő kód Y-tengely és Y-tengely címet ad hozzá a diagramhoz:

1234567 Rész hozzáadásaAYAxisandYTitle ()ActiveChart segítségével.SetElement msoElementPrimaryValueAxisShow.SetElement msoElementPrimaryValueAxisTitleHorizontalVége ezzelEnd Sub

Az eredmény:

Egy tengely számformátumának megváltoztatása

Egy táblázatot választottunk ki a munkalapon, az alábbiak szerint:

Módosíthatja a tengelyek számformátumát. A következő kód megváltoztatja az y tengely számformátumát pénznemre:

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

Az eredmény:

A betűtípus formázásának megváltoztatása a diagramban

A következő táblázatot választottuk ki a munkalapon az alábbiak szerint:

Módosíthatja a teljes diagram betűtípusának formázását a betűtípus objektumra való hivatkozással, valamint annak nevének, betűsúlyának és méretének megváltoztatásával. A következő kód megváltoztatja a teljes diagram betűtípusát, súlyát és méretét.

12345678910 AlváltozásTheFontFormatting ()ActiveChart segítségével.ChartArea.Format.TextFrame2.TextRange.Font.Name = "Times New Roman".ChartArea.Format.TextFrame2.TextRange.Font.Bold = Igaz.ChartArea.Format.TextFrame2.TextRange.Font.Size = 14Vége ezzel

Az eredmény:

Diagram törlése VBA használatával

Egy táblázatot választottunk ki a munkalapon, az alábbiak szerint:

A diagram törléséhez a következő kódot használhatjuk:

12345 TheChart () törléseActiveChart.Parent.DeleteEnd Sub

A ChartObjects gyűjteményre hivatkozva

A munkalap vagy a munkafüzet összes beágyazott diagramját elérheti a ChartObjects gyűjteményben. Az alábbi táblázaton két diagram található:

A ChartObjects gyűjteményre hivatkozunk annak érdekében, hogy a munkalap mindkét diagramja azonos magasságú, szélességű legyen, törölje a rácsvonalakat, azonos legyen a háttérszín, a diagramok ugyanazt a területterület színét adja, és a diagramterület vonalának színe azonos legyen szín:

12345678910111213141516 Sub RefereringToAllTheChartsOnASheet ()Dim cht Mint ChartObjectMinden cht -hez az ActiveSheet.ChartObjects -bencht. Magasság = 144,85cht. Szélesség = 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)Következő chtEnd Sub

Az eredmény:

Diagram beszúrása saját diagramlapjára

Az A1: B6 tartomány tartalmazza az alábbi forrásadatokat:

Diagramot a Charts.Add metódussal hozhat létre. A következő kód létrehoz egy diagramot a saját diagramlapján:

123456 AlbeillesztésAChartOnItsOwnChartSheet ()Táblázatok ("Sheet1"). Tartomány ("A1: B6"). Válassza kiTáblázatok. HozzáadásEnd Sub

Az eredmény:

Tekintse meg néhány egyéb grafikon bemutatónkat:

Diagramok Excelben

Hozzon létre egy oszlopdiagramot a VBA -ban

wave wave wave wave wave