Найти тему
VBA Excel с нуля

VBA Excel № 157. Визуализация данных: трёхмерные диаграммы

Оглавление
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Один из моих читателей, как мне показалось, хочет визуализировать данные, через диаграммы:

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Просьбы достаточно настойчивые. Однако каких-либо данных мало и, боюсь я могу неправильно истолковать просьбу. Но в голове всё-таки есть мысли, и чтобы «нарисовать трёхмерный график» в программе, изобилующей табличными данными, такой как Excel, можно использовать встроенные возможности VBA для работы с диаграммами (хотя можно конечно обойтись без VBA). Вот пошаговая инструкция и пример кода на VBA для их создания.

Шаги для создания диаграммы в Excel с помощью VBA:

1. Подготавливаем данные:

Убедитесь, что у вас есть данные в таблице, которые вы хотите визуализировать в диаграмме.

Я взял статистические данные со своего канала (пять наиболее читаемых статей со временем их просмотра - в минутах). Выглядит это так:

Скриншот с моего ноутбука
Скриншот с моего ноутбука

2. Открываем редактор VBA:

Нажмите Alt + F11, чтобы открыть редактор VBA.

3. Вставляем новый модуль:

В редакторе VBA выберите Insert => Module, чтобы создать новый модуль.

4. Пишем код для создания диаграммы:

Этот код создаёт диаграмму на основе данных, находящихся в диапазоне ячеек A1:C6 (ваш диапазон конечно же может быть другим).

В самом коде есть пояснения к каждой строке, однако если на скриншоте плохо видно, есть небольшой разбор макроса после картинки, а также:

📌 Скачать файл пример, можно в конце статьи.

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Давайте вкратце по коду:

Объявление переменных:

  • лист- переменная для указания рабочего листа.
  • объектГрафика- переменная для создания объекта графика.
  • график- переменная для работы с самой диаграммой.

Установка рабочего листа:

  • Set лист = ThisWorkbook.Sheets("Лист1") - Указывает, что данные находятся на листе "Лист1".

Создание объекта графика:

  • Set объектГрафика = лист.ChartObjects.Add(Left:=100, Width:=375, Top:=50, Height:=225) - Добавляет объект графика на лист с указанными размерами и положением.

Создание графика и установка источника данных:

  • Set график = объектГрафика.Chart - Присваивает переменной график объект графика.
  • график.SetSourceData Source:=лист.Range("A1:C6") - Устанавливает источник данных для графика.

Настройка типа графика:

  • график.ChartType = xl3DColumn - Устанавливает тип графика как трёхмерный столбчатый график.

Цикл для добавления подписей данных:

  • Dim серия As Series - Объявляет переменную серия для каждой серии данных на графике.
  • For Each серия In график.SeriesCollection - Проходит по каждой серии данных в коллекции серий графика.
  • серия.HasDataLabels = True - Включает подписи данных для каждой серии.
  • серия.DataLabels.ShowValue = True - Показывает значения данных в подписях.

На макрос я назначил кнопку и вот результат:

Скриншот с моего ноутбука
Скриншот с моего ноутбука

СКАЧАТЬ ФАЙЛ ПРИМЕР

Наука
7 млн интересуются