Vba excel изменить диаграмму

Содержание

Диаграммы и графики Excel используются для визуального отображения данных. В этом руководстве мы расскажем, как использовать VBA для создания диаграмм и элементов диаграмм и управления ими.

Вы можете создавать встроенные диаграммы на листе или диаграммы на отдельных листах диаграмм.

Создание встроенной диаграммы с помощью VBA

У нас есть диапазон A1: B4, который содержит исходные данные, показанные ниже:

Вы можете создать диаграмму с помощью метода ChartObjects.Add. Следующий код создаст на листе встроенную диаграмму:

12345678 Sub CreateEmbeddedChartUsingChartObject ()Уменьшить размер встроенной диаграммы как ChartObjectУстановите embeddedchart = Sheets («Sheet1»). ChartObjects.Add (Left: = 180, Width: = 300, Top: = 7, Height: = 200)embeddedchart.Chart.SetSourceData Источник: = Sheets («Sheet1»). Range («A1: B4»)Конец подписки

Результат:

Вы также можете создать диаграмму с помощью метода Shapes.AddChart. Следующий код создаст на листе встроенную диаграмму:

12345678 Подложка CreateEmbeddedChartUsingShapesAddChart ()Заменить встроенную диаграмму как фигуруУстановите embeddedchart = Sheets («Sheet1»). Shapes.AddChartembeddedchart.Chart.SetSourceData Source: = Sheets («Sheet1»). Range («A1: B4»)Конец подписки

Указание типа диаграммы с помощью VBA

У нас есть диапазон A1: B5, который содержит исходные данные, показанные ниже:

Вы можете указать тип диаграммы, используя свойство ChartType. Следующий код создаст круговую диаграмму на листе, поскольку для свойства ChartType задано значение xlPie:

123456789 Sub SpecifyAChartType ()Dim chrt как ChartObjectУстановите chrt = Sheets («Sheet1»). ChartObjects.Add (Left: = 180, Width: = 270, Top: = 7, Height: = 210)chrt.Chart.SetSourceData Source: = Sheets («Sheet1»). Range («A1: B5»)chrt.Chart.ChartType = xlPieКонец подписки

Результат:

Вот некоторые из популярных типов диаграмм, которые обычно указываются, хотя есть и другие:

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

Добавление заголовка диаграммы с помощью VBA

У нас есть диаграмма, выбранная на листе, как показано ниже:

Сначала необходимо добавить заголовок диаграммы с помощью метода Chart.SetElement, а затем указать текст заголовка диаграммы, установив свойство ChartTitle.Text.

В следующем коде показано, как добавить заголовок диаграммы и указать текст заголовка активной диаграммы:

123456 Sub AddingAndSettingAChartTitle ()ActiveChart.SetElement (msoElementChartTitleAboveChart)ActiveChart.ChartTitle.Text = «Продажи продукта»Конец подписки

Результат:

Примечание. Сначала необходимо выбрать диаграмму, чтобы сделать ее активной, чтобы можно было использовать объект ActiveChart в своем коде.

Изменение цвета фона диаграммы с помощью VBA

У нас есть диаграмма, выбранная на листе, как показано ниже:

Вы можете изменить цвет фона всей диаграммы, установив свойство RGB объекта FillFormat объекта ChartArea. Следующий код придаст диаграмме светло-оранжевый цвет фона:

12345 Sub AddingABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Format.Fill.ForeColor.RGB = RGB (253, 242, 227)Конец подписки

Результат:

Вы также можете изменить цвет фона всей диаграммы, установив свойство ColorIndex объекта Interior объекта ChartArea. Следующий код придаст диаграмме оранжевый цвет фона:

12345 Sub AddingABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Interior.ColorIndex = 40Конец подписки

Результат:

Примечание. Свойство ColorIndex позволяет указать цвет на основе значения от 1 до 56, взятого из предустановленной палитры, чтобы увидеть, какие значения представляют разные цвета, щелкните здесь.

Изменение цвета области графика диаграммы с помощью VBA

У нас есть диаграмма, выбранная на листе, как показано ниже:

Вы можете изменить цвет фона только области построения диаграммы, установив свойство RGB объекта FillFormat объекта PlotArea. Следующий код придаст области построения диаграммы светло-зеленый цвет фона:

12345 Sub AddingABackgroundColorToThePlotArea ()ActiveChart.PlotArea.Format.Fill.ForeColor.RGB = RGB (208, 254, 202)Конец подписки

Результат:

Добавление легенды с помощью VBA

У нас есть диаграмма, выбранная на листе, как показано ниже:

Вы можете добавить легенду с помощью метода Chart.SetElement. Следующий код добавляет легенду слева от диаграммы:

12345 Подложка AddingALegend ()ActiveChart.SetElement (msoElementLegendLeft)Конец подписки

Результат:

Вы можете указать положение легенды следующими способами:

  • msoElementLegendLeft — отображает легенду в левой части диаграммы.
  • msoElementLegendLeftOverlay — накладывает легенду на левую часть диаграммы.
  • msoElementLegendRight — отображает легенду в правой части диаграммы.
  • msoElementLegendRightOverlay — накладывает легенду на правую часть диаграммы.
  • msoElementLegendBottom — отображает легенду внизу диаграммы.
  • msoElementLegendTop — отображает легенду вверху диаграммы.

Добавление меток данных с помощью VBA

У нас есть диаграмма, выбранная на листе, как показано ниже:

Вы можете добавлять метки данных с помощью метода Chart.SetElement. Следующий код добавляет метки данных на внутренний конец диаграммы:

12345 Sub AddingADataLabels ()ActiveChart.SetElement msoElementDataLabelInsideEndКонец подписки

Результат:

Вы можете указать расположение меток данных следующими способами:

  • msoElementDataLabelShow — отображать метки данных.
  • msoElementDataLabelRight — отображает метки данных в правой части диаграммы.
  • msoElementDataLabelLeft — отображает метки данных в левой части диаграммы.
  • msoElementDataLabelTop — отображает метки данных вверху диаграммы.
  • msoElementDataLabelBestFit — определяет наилучшее соответствие.
  • msoElementDataLabelBottom — отображает метки данных внизу диаграммы.
  • msoElementDataLabelCallout — отображает метки данных в виде выноски.
  • msoElementDataLabelCenter — отображает метки данных в центре.
  • msoElementDataLabelInsideBase — отображает метки данных на внутренней основе.
  • msoElementDataLabelOutSideEnd — отображает метки данных на внешнем конце диаграммы.
  • msoElementDataLabelInsideEnd — отображает метки данных на внутреннем конце диаграммы.

Добавление оси X и заголовка в VBA

У нас есть диаграмма, выбранная на листе, как показано ниже:

Вы можете добавить заголовок оси X и оси X с помощью метода Chart.SetElement. Следующий код добавляет к диаграмме заголовки осей X и X:

123456789 Sub AddingAnXAxisandXTitle ()С ActiveChart.SetElement msoElementPrimaryCategoryAxisShow.SetElement msoElementPrimaryCategoryAxisTitleHorizontalКонец сКонец подписки

Результат:

Добавление оси Y и заголовка в VBA

У нас есть диаграмма, выбранная на листе, как показано ниже:

Вы можете добавить заголовок оси Y и оси Y с помощью метода Chart.SetElement. Следующий код добавляет к диаграмме заголовки по осям Y и Y:

1234567 Дополнительное добавлениеAYAxisandYTitle ()С ActiveChart.SetElement msoElementPrimaryValueAxisShow.SetElement msoElementPrimaryValueAxisTitleHorizontalКонец сКонец подписки

Результат:

Изменение числового формата оси

У нас есть диаграмма, выбранная на листе, как показано ниже:

Вы можете изменить числовой формат оси. Следующий код изменяет числовой формат оси Y на валюту:

12345 Sub ChangingTheNumberFormat ()ActiveChart.Axes (xlValue) .TickLabels.NumberFormat = «$ #, ## 0.00″Конец подписки

Результат:

Изменение форматирования шрифта на диаграмме

У нас на листе выбрана следующая диаграмма, как показано ниже:

Вы можете изменить форматирование всего шрифта диаграммы, обратившись к объекту шрифта и изменив его имя, толщину и размер шрифта. Следующий код изменяет тип, вес и размер шрифта всей диаграммы.

12345678910 Sub ChangingTheFontFormatting ()С ActiveChart.ChartArea.Format.TextFrame2.TextRange.Font.Name = «Times New Roman».ChartArea.Format.TextFrame2.TextRange.Font.Bold = Истина.ChartArea.Format.TextFrame2.TextRange.Font.Size = 14Конец с

Результат:

Удаление диаграммы с помощью VBA

У нас есть диаграмма, выбранная на листе, как показано ниже:

Мы можем использовать следующий код, чтобы удалить эту диаграмму:

12345 Sub DeletingTheChart ()ActiveChart.Parent.DeleteКонец подписки

Ссылаясь на коллекцию ChartObjects

Вы можете получить доступ ко всем встроенным диаграммам на листе или в книге, обратившись к коллекции ChartObjects. У нас есть две диаграммы на одном листе, показанном ниже:

Мы обратимся к коллекции ChartObjects, чтобы дать обеим диаграммам на листе одинаковую высоту и ширину, удалить линии сетки, сделать цвет фона одинаковым, дать диаграммам одинаковый цвет области графика и сделать одинаковый цвет линии области графика. цвет:

12345678910111213141516 Sub ReferringToAllTheChartsOnASheet ()Dim cht As ChartObjectДля каждого cht в ActiveSheet.ChartObjectscht.Height = 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)Следующий чтКонец подписки

Результат:

Вставка диаграммы на отдельный лист диаграммы

У нас есть диапазон A1: B6, который содержит исходные данные, показанные ниже:

Вы можете создать диаграмму, используя метод Charts.Add. Следующий код создаст диаграмму на собственном листе диаграммы:

123456 Sub InsertingAChartOnItsOwnChartSheet ()Листы («Лист1»). Диапазон («A1: B6»). ВыберитеCharts.AddКонец подписки

Результат:

См. Некоторые из наших других руководств по построению графиков:

Графики в Excel

Создайте гистограмму в VBA

Программное создание графика (диаграммы) в VBA Excel с помощью метода Charts.Add на основе данных из диапазона ячеек на рабочем листе. Примеры.

Метод Charts.Add

В настоящее время на сайте разработчиков описывается метод Charts.Add2, который, очевидно, заменил метод Charts.Add. Тесты показали, что Charts.Add продолжает работать в новых версиях VBA Excel, поэтому в примерах используется именно он.

Синтаксис

Charts.Add ([Before], [After], [Count])

Charts.Add2 ([Before], [After], [Count], [NewLayout])

Параметры

Параметры методов Charts.Add и Charts.Add2:

Параметр Описание
Before Имя листа, перед которым добавляется новый лист с диаграммой. Необязательный параметр.
After Имя листа, после которого добавляется новый лист с диаграммой. Необязательный параметр.
Count Количество добавляемых листов с диаграммой. Значение по умолчанию – 1. Необязательный параметр.
NewLayout Если NewLayout имеет значение True, диаграмма вставляется с использованием новых правил динамического форматирования (заголовок имеет значение «включено», а условные обозначения – только при наличии нескольких рядов). Необязательный параметр.

Если параметры Before и After опущены, новый лист с диаграммой вставляется перед активным листом.

Примеры

Таблицы

В качестве источников данных для примеров используются следующие таблицы:

Исходные таблицы для создания диаграмм

Пример 1

Программное создание объекта Chart с типом графика по умолчанию и по исходным данным из диапазона «A2:B26»:

Sub Primer1()

Dim myChart As Chart

‘создаем объект Chart с расположением нового листа по умолчанию

Set myChart = ThisWorkbook.Charts.Add

    With myChart

        ‘назначаем объекту Chart источник данных

        .SetSourceData (Sheets(«Лист1»).Range(«A2:B26»))

        ‘переносим диаграмму на «Лист1» (отдельный лист диаграммы удаляется)

        .Location xlLocationAsObject, «Лист1»

    End With

End Sub

Результат работы кода VBA Excel из первого примера:

Объект Chart с типом графика по умолчанию

Пример 2

Программное создание объекта Chart с двумя линейными графиками по исходным данным из диапазона «A2:C26»:

Sub Primer2()

Dim myChart As Chart

Set myChart = ThisWorkbook.Charts.Add

    With myChart

        .SetSourceData (Sheets(«Лист1»).Range(«A2:C26»))

        ‘задаем тип диаграммы (линейный график с маркерами)

        .ChartType = xlLineMarkers

        .Location xlLocationAsObject, «Лист1»

    End With

End Sub

Результат работы кода VBA Excel из второго примера:

Объект Chart с двумя линейными графиками (с маркерами)

Пример 3

Программное создание объекта Chart с круговой диаграммой, разделенной на сектора, по исходным данным из диапазона «E2:F7»:

Sub Primer3()

Dim myChart As Chart

Set myChart = ThisWorkbook.Charts.Add

    With myChart

        .SetSourceData (Sheets(«Лист1»).Range(«E2:F7»))

        ‘задаем тип диаграммы (пирог — круг, разделенный на сектора)

        .ChartType = xlPie

        ‘задаем стиль диаграммы (с отображением процентов)

        .ChartStyle = 261

        .Location xlLocationAsObject, «Лист1»

    End With

End Sub

Результат работы кода VBA Excel из третьего примера:

Объект Chart с круговой диаграммой

Примечание

В примерах использовались следующие методы и свойства объекта Chart:

Компонент Описание
Метод SetSourceData Задает диапазон исходных данных для диаграммы.
Метод Location Перемещает диаграмму в заданное расположение (новый лист, существующий лист, элемент управления).
Свойство ChartType Возвращает или задает тип диаграммы. Смотрите константы.
Свойство ChartStyle Возвращает или задает стиль диаграммы. Значение нужного стиля можно узнать, записав макрос.

Модератор:Naeel Maqsudov

Аватара пользователя

Timofey

Сообщения:32
Зарегистрирован:28 апр 2006, 11:42
Откуда:Владивосток
Контактная информация:

Проблема такая.
Есть данные (40 столбцов, 10000 строк), которые могут меняться почти случайным образом. Их надо анализировать сравнивая столбцы друг с другом. Проще всего это делать при помощи диаграммы. Каким образом можно поменять параметры диаграммы (добавить/удалить ряд, обновить), которая была бы на одном листе с данными?
Менять данные в ручную долго. Потому что нельзя предсказать какое количество и какие столбцы надо сравнить. Ряды надо добавлять, удалять сравнивая друг с другом. При анализе одной выборки может понадобитя несколько сотен изменений. Выносить диаграмму на отдельный лист тоже не хотелось бы.
Код который определяет какой столбец надо добавить/удалить и передавал бы эти параметры диаграмме я состряпаю, только не могу позиционироваться на определённой диаграмме (их у меня несколько, на нескольких листах) и впихнуть в неё новые данные. Пробовал через конструктор макросов, толку никакого нет. При попытке запустить такой макрос VBA выдаёт ошибку. Все попытки подкорректировать макрос , тоже без успешные.
Кто сталкивался с этим помогите.

P.S.
Кстати, подобное нашёл на форуме, но… опять ошибка.
forum/topic5408.html

Аватара пользователя

Timofey

Сообщения:32
Зарегистрирован:28 апр 2006, 11:42
Откуда:Владивосток
Контактная информация:

29 апр 2006, 14:30

Спасибо Avsha!

Кому надо пользуйтесь:

Worksheets(2).ChartObjects(1).Chart.SetSourceData Sheets(«n»).Range(«AD11:AE2005,M11:M2005»), xlColumns

Подставьте нужные номера листа и диаграммы, или их имена, введите нужный диапазон.

Avsha

Сообщения:664
Зарегистрирован:08 сен 2005, 13:47
Откуда:KZ

01 май 2006, 08:22

Timofey,
делал недавно похожую конструкцию для подмены данных в диаграмме
если интересно, посмотрите…

http://avsha.narod.ru/Excel_Chart.rar

диаграмма настроена на статичный определенный диапазон,
а данные в этот диапазон попадают с использованием функции ИНДЕКС() из основного диапазона данных.

Аватара пользователя

Naeel Maqsudov

Сообщения:2551
Зарегистрирован:20 фев 2004, 19:17
Откуда:Moscow, Russia
Контактная информация:

02 май 2006, 10:29

Совет:

Так как чаще всего не хватает знания о том как называются нужные свойства, методы и константы, то удобно делать следующее:
1) В VBA через Tools/References добавьте в проект ссылку на Microsoft Graph XX Object library
2) Нажмите F2 — появится Object Browser
3) Изучите с помощью Object Browser названия свойств и методов — в большинстве случаев название интуитивно понятно
(Большинство, к сожалению, это не 90% а несколько меньше, но этот простой совет позволяет в кратчайшие сроки получить наиболее поллное представление о нужном классе)
Кроме того, такая подгрузка библиотек в некотором роде помогает при редактировании исходного кода.
Объявите переменную, например, не просто Object (или Variant) а конкретно — Graph.Series, напрмиер. И все идентификаторы будут появляться в подстрочнике после использования этой переменной.

VBA Coding Guide To Charts & Graphs For Microsoft Excel

Charts, Charts, & More Charts!

Graphical visualizations are arguably the pinnacle of how an analyst shares his/her results and possessing the ability to manipulate them is key to the field.  Since we as data analysts spend some much time creating graphs, it is more valuable than ever to understand how to automate them.

What if you have 20 graphs on a spreadsheet and they all need to have their legends in the exact same spot?  What if you create a bunch of charts and your manager needs the series colors changed at the last minute? Do you want to do this all manually?

Below will be your cheat sheet for manipulating Excel charts & graphs with VBA code.  Please let me know via the comments section if there are areas missing from this guide so I can expand on them.  Enjoy!

VBA Chart Guide Contents

  • Create/Insert Chart

  • Looping Through Charts/Series

  • Chart Title (Adding/Modifying)

  • Chart Legend (Adding/Modifying)

  • Adding Various Chart Attributes

  • Modifying Various Chart Attributes

  • Removing Various Chart Attributes

  • Change Chart Colors

  • Chart Excel Add-ins

Inserting A Chart

Method 1:

Sub CreateChart()
‘PURPOSE: Create a chart (chart dimensions are not required)

Dim rng As Range
Dim cht As Object

‘Your data range for the chart
  Set rng = ActiveSheet.Range(«A24:M27»)

‘Create a chart
  Set cht = ActiveSheet.Shapes.AddChart2

‘Give chart some data
  cht.Chart.SetSourceData Source:=rng

‘Determine the chart type
  cht.Chart.ChartType = xlXYScatterLines

End Sub

Sub CreateChart()
‘PURPOSE: Create a chart (chart dimensions are required)

Dim rng As Range
Dim cht As ChartObject

‘Your data range for the chart
  Set rng = ActiveSheet.Range(«A24:M27»)

‘Create a chart
  Set cht = ActiveSheet.ChartObjects.Add( _
    Left:=ActiveCell.Left, _
    Width:=450, _
    Top:=ActiveCell.Top, _
    Height:=250)

‘Give chart some data
  cht.Chart.SetSourceData Source:=rng

‘Determine the chart type
  cht.Chart.ChartType = xlXYScatterLines

       End Sub

Looping Through Charts & Series

Sub LoopThroughCharts()
‘PURPOSE: How to cycle through charts and chart series

Dim cht As ChartObject
Dim ser As Series

‘Loop Through all charts on ActiveSheet
  For Each cht In ActiveSheet.ChartObjects

  Next cht

‘Loop through all series in a chart
  For Each ser In grph.Chart.SeriesCollection

  Next ser

  ‘Loop Through all series on Activesheet
  For Each cht In ActiveSheet.ChartObjects
    For Each ser In grph.Chart.SeriesCollection

    Next ser
  Next cht

  End Sub

Adding & Modifying A Chart Title

Add Chart Title

Sub AddChartTitle()
‘PURPOSE: Add a title to a specific chart

Dim cht As ChartObject

Set cht = ActiveSheet.ChartObjects(«Chart 1»)

‘Ensure chart has a title
  cht.Chart.HasTitle = True

‘Change chart’s title
  cht.Chart.ChartTitle.Text = «My Graph»

End Sub

Move/Reposition Chart Title

Sub RepositionChartTitle()
‘PURPOSE: Reposition a chart’s title

Dim cht As ChartObject

Set cht = ActiveSheet.ChartObjects(«Chart 1»)

‘Reposition title
  With cht.Chart.ChartTitle
    .Left = 100
    .Top = 50
  End With

End Sub

Adding & Modifying A Graph Legend

Insert/Create Chart Legend

Sub InsertChartLegend()

Dim cht As Chart

Set cht = ActiveSheet.ChartObjects(«Chart 1»).Chart

‘Add Legend to the Right
  cht.SetElement (msoElementLegendRight)

  ‘Add Legend to the Left
  cht.SetElement (msoElementLegendLeft)

  ‘Add Legend to the Bottom
  cht.SetElement (msoElementLegendBottom)

  ‘Add Legend to the Top
  cht.SetElement (msoElementLegendTop)

  ‘Add Overlaying Legend to the Left
  cht.SetElement (msoElementLegendLeftOverlay)

  ‘Add Overlaying Legend to the Right
  cht.SetElement (msoElementLegendRightOverlay)

End Sub

Resize/Move Chart Legend

Sub DimensionChartLegend()

Dim lgd As Legend

Set lgd = ActiveSheet.ChartObjects(«Chart 1»).Chart.Legend

lgd.Left = 240.23
lgd.Top = 6.962
lgd.Width = 103.769
lgd.Height = 25.165

End Sub

Adding Various Chart Attributes

Sub AddStuffToChart()

Dim cht As Chart

Set cht = ActiveSheet.ChartObjects(«Chart 1»).Chart

‘Add X-axis
  cht.HasAxis(xlCategory, xlPrimary) = True ‘[Method #1]
  cht.SetElement (msoElementPrimaryCategoryAxisShow) ‘[Method #2]

  ‘Add X-axis title
  cht.Axes(xlCategory, xlPrimary).HasTitle = True ‘[Method #1]
  cht.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis) ‘[Method #2]

  ‘Add y-axis
  cht.HasAxis(xlValue, xlPrimary) = True ‘[Method #1]
  cht.SetElement (msoElementPrimaryValueAxisShow) ‘[Method #2]

  ‘Add y-axis title
  cht.Axes(xlValue, xlPrimary).HasTitle = True ‘[Method #1]
  cht.SetElement (msoElementPrimaryValueAxisTitleAdjacentToAxis) ‘[Method #2]

  ‘Add Data Labels (Centered)
  cht.SetElement (msoElementDataLabelCenter)

‘Add Major Gridlines
  cht.SetElement (msoElementPrimaryValueGridLinesMajor)

    ‘Add Linear Trend Line
  cht.SeriesCollection(1).Trendlines.Add Type:=xlLinear

  End Sub

Modifying Various Chart Attributes

Sub ChangeChartFormatting()

Dim cht As Chart

Set cht = ActiveSheet.ChartObjects(«Chart 1»).Chart

‘Adjust y-axis Scale
  cht.Axes(xlValue).MinimumScale = 40
  cht.Axes(xlValue).MaximumScale = 100

‘Adjust x-axis Scale
  cht.Axes(xlCategory).MinimumScale = 1
  cht.Axes(xlCategory).MaximumScale = 10

  ‘Adjust Bar Gap
  cht.ChartGroups(1).GapWidth = 60

‘Format Font Size
  cht.ChartArea.Format.TextFrame2.TextRange.Font.Size = 12

  ‘Format Font Type
  cht.ChartArea.Format.TextFrame2.TextRange.Font.Name = «Arial»

  ‘Make Font Bold
  cht.ChartArea.Format.TextFrame2.TextRange.Font.Bold = msoTrue

  ‘Make Font Italicized
  cht.ChartArea.Format.TextFrame2.TextRange.Font.Italic = msoTrue

End Sub

Removing Various Chart Attributes

Sub RemoveChartFormatting()

Dim cht As Chart

Set cht = ActiveSheet.ChartObjects(«Chart 1»).Chart

‘Remove Chart Series
  cht.SeriesCollection(2).Delete

‘Remove Gridlines
  cht.Axes(xlValue).MajorGridlines.Delete
  cht.Axes(xlValue).MinorGridlines.Delete

  ‘Remove X-axis
  cht.Axes(xlCategory).Delete

‘Remove Y-axis
  cht.Axes(xlValue).Delete

‘Remove Legend
  cht.Legend.Delete

‘Remove Title
  cht.ChartTitle.Delete

    ‘Remove ChartArea border
  cht.ChartArea.Border.LineStyle = xlNone

‘No background color fill
  cht.ChartArea.Format.Fill.Visible = msoFalse
  cht.PlotArea.Format.Fill.Visible = msoFalse

End Sub

Change Chart Colors

Sub ChangeChartColors()

Dim cht As Chart

Set cht = ActiveSheet.ChartObjects(«Chart 1»).Chart

‘Change first bar chart series fill color
  cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(91, 155, 213)

‘Change X-axis label color
  cht.Axes(xlCategory).TickLabels.Font.Color = RGB(91, 155, 213)

‘Change Y-axis label color
  cht.Axes(xlValue).TickLabels.Font.Color = RGB(91, 155, 213)

  ‘Change Plot Area border color
  cht.PlotArea.Format.Line.ForeColor.RGB = RGB(91, 155, 213)

  ‘Change Major gridline color
  cht.Axes(xlValue).MajorGridlines.Format.Line.ForeColor.RGB = RGB(91, 155, 213)

‘Change Chart Title font color
  cht.ChartTitle.Format.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(91, 155, 213)

‘No background color fill
  cht.ChartArea.Format.Fill.Visible = msoFalse
  cht.PlotArea.Format.Fill.Visible = msoFalse

End Sub

Chart Excel Add-ins

  • Waterfall Chart Excel Add-in — Automatically create editable Waterfall Charts directly in your spreadsheet.

  • AutoChart Excel Add-in — This add-in will allow you to create, manipulate series ranges, and format all your charts at once. Making adjustments has never been easier!

  • myBrand Excel Add-in — Stores your favorite colors to the Excel Ribbon and allows you to color cells, shapes, and charts.

  • Peltier Tech Charts for Excel — A chart-building toolkit with the automated creation of difficult chart builds such as Histograms, Pareto, Marimekko, and many more.

Anything You Would Like To See?

There are a ton of things you can do with VBA and Excel charts.  I attempted through this guide to tackle the most general ones, but please don’t hesitate to leave a comment if there is something that you would like to see added to the code in this VBA guide.  Hopefully, you were able to find what you were looking for!

About The Author

Hey there! I’m Chris and I run TheSpreadsheetGuru website in my spare time. By day, I’m actually a finance professional who relies on Microsoft Excel quite heavily in the corporate world. I love taking the things I learn in the “real world” and sharing them with everyone here on this site so that you too can become a spreadsheet guru at your company.

Through my years in the corporate world, I’ve been able to pick up on opportunities to make working with Excel better and have built a variety of Excel add-ins, from inserting tickmark symbols to automating copy/pasting from Excel to PowerPoint. If you’d like to keep up to date with the latest Excel news and directly get emailed the most meaningful Excel tips I’ve learned over the years, you can sign up for my free newsletters. I hope I was able to provide you with some value today and I hope to see you back here soon!

— Chris
Founder, TheSpreadsheetGuru.com

Я не могла себе представить, что после тренинга за три месяца способна буду сделать то, что уже сделано

Я не могла себе представить, что после тренинга за три месяца способна буду сделать то, что уже сделано.

Я сделала ШАБЛОН договора с выбором реквизитов из файла, в котором они все хранятся, а потом началось…Заполнение счета, заполнение ТН, подстановка номера ТН и ее реквизитов в другой файл, в котором можно отследить оплату и т.д.

При заполнении ТН у меня делается списание материалов и много чего такого, что раньше делалось с помощью лишних телодвижений.

Короче я очень довольна тем, чему научилась, благодаря Дмитрию.

Вскоре, думаю заняться ФОРМАМИ, пока упрощаю, то что давно пора было упростить!!!!

Это лучшие занятия, которые я когда либо проходила

Я очень довольна пройденным тренингом, это лучшие занятия, которые я когда либо проходила, все очень доступно, интересно, высокий профессиональный уровень, обо всем можно сказать только в превосходной степени. На работе мне приходится обрабатывать большие объемы информации и полученные знания для меня очень важны. Спасибо, Дмитрий, очень надеюсь на продолжение обучения у Вас.

Наталья Медведева о практическом тренинге

За месяц изучил материал, который рассчитан примерно на семестр ВУЗовского обучения

Прекрасно сформированная последовательность подачи материала и наличие всего необходимого объема информации в данном тренинге дали мне возможность за месяц изучить материал, который (в соответствии с изучаемым мной самоучителем) рассчитан примерно на семестр ВУЗовского обучения. Плюс интересные факты, дополнительные «Фишки» и вообще наличие быстрой и качественной обратной связи преподавателем как в онлайн режиме, так и вне занятия. Спасибо Дмитрий за проделанную Вами работу и за профессиональный подход к обучению.

Николай Трыкин о практическом тренинге

Нет ничего лучше, чем наглядные примеры

Дмитрий, хочу еще раз сказать ОГРОМНОЕ спасибо за предоставленные примеры на вебинаре «Пользовательские формы и элементы управления». В моей работе в большинстве случаев приходится сталкиваться с построением отчетов сотрудниками и, чтобы избежать ошибок при вводе данных, я как раз и хотела воспользоваться пользовательскими формами, но знаний для этого было недостаточно. Всю эту информацию конечно можно найти в учебниках, и я не раз их читала, но нет ничего лучше, чем наглядные примеры. По ходу вебинара у меня рождались идеи воплощения того или другого продемонстрированного примера в моей работе. Теперь осталось воплотить это всё в жизнь!

Желаю всем коллегам, присутствовавшим на вебинаре, найти применение полученной информации и не останавливаться на достигнутом!

А от Дмитрия жду новых вебинаров и уроков в свободном доступе. У вас это ОТЛИЧНО получается!

Анна Васильева о мастер-классе

Изучала запоем, узнала очень много нового

Спасибо, Дмитрий!

Классный и полезный тренинг, рекомендую всем!

С VBA уже дело имела(изучала методом научного тыка). Курс очень понравился, иногда не знаешь, какие вопросы нужно задавать и мучаешься долго и нудно над элементарными, как оказалось, вещами.

Мне было не очень трудно, но очень интересно, изучала запоем, узнала очень много нового. После тренинга поняла, что мои макросы нужно все переписывать, так как оказалось, я не знаю некоторых очень нужных, базовых вещей.

Мне очень понравилась подача материала: просто, доходчиво, с пояснением нюансов и подводных камней.

Очень полезно видеть отладку кода, поиск ошибок по горячим следам. Мне лично уже пригодилось, облегчило жизнь.

Дмитрий, спасибо за терпение и развернутые ответы на очень тупые вопросы!

Екатерина Пилипец о практическом тренинге

Изменение параметров диаграммы

Очередное полностью практическое занятие. В этот раз оно уже пообъемнее и несколько сложнее, чем «Заполнение бланка документа», но это логично — от простых вещей постепенно двигаемся к более сложным.

Для просмотра видео необходимо

зарегистрироваться на сайте

Если вы уже зарегистрированы на сайте —

обновите страницу по этой ссылке или кнопкой F5

Понравилась статья? Поделить с друзьями:
  • Vba excel запустить макрос другим макросом
  • Vba excel изменение цвета ячейки
  • Vba excel запуск формы с кнопки
  • Vba excel изменение цвета шрифта
  • Vba excel запуск процедуры