Оглавление
В этой статье я покажу вам, как можно создать динамическую диаграмму в Excel, используя VBA .
Скачать Рабочую тетрадь для практических занятий
Скачайте эту рабочую тетрадь для тренировок, чтобы заниматься во время чтения этой статьи.
Динамическая диаграмма в Excel.xlsm5 простых шагов по созданию динамической диаграммы с помощью Excel VBA
Здесь у нас есть рабочий лист под названием Лист1 которая содержит таблицу, содержащую доход и доходы компании за несколько лет.
Наша цель сегодня - генерировать динамический график из этой таблицы с помощью Excel VBA .
⧪ Шаг 1: Открытие окна Visual Basic
Нажмите ALT+F11 на клавиатуре, чтобы открыть Visual Basic окно.
⧪ Шаг 2: Вставка нового модуля
Перейти к Вставка> Модуль опция на панели инструментов. Нажмите на Модуль . Новый модуль под названием Модуль1 будет вставлен.
⧪ Шаг 3: Ввод кода VBA
Это самый важный шаг. Поставьте следующее VBA Код в модуле.
⧭ Код VBA:
Sub Create_Dynamic_Chart() Application.ScreenUpdating = False With ActiveSheet.Shapes(Application.Caller).Fill.ForeColor If .Brightness = 0 Then .Brightness = -0.150000006 Else .Brightness = 0 End If End With Dim Sequence() As String Desired_Shapes = Array("Rounded Rectangle 1", "Rounded Rectangle 2", "Rounded Rectangle 3") For i = LBound(Desired_Shapes) ToUBound(Desired_Shapes) With ActiveSheet.Shapes(Desired_Shapes(i)) If .Fill.ForeColor.Brightness = -0.150000006 Then Sequence(UBound(Sequence)) = .TextFrame2.TextRange.Characters.Text ReDim Preserve Sequence(UBound(Series) + 1) End If End With Next i If UBound(Sequence)> 0 Then ReDim Preserve Sequence(UBound(Sequence) - 1)Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter Field:=1 Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _ Field:=1, Criteria1:=Sequence, Operator:=xlFilterValues Application.ScreenUpdating = True End Sub
⧪ Шаг 4: Сохранение рабочей книги в формате XLSM
Затем вернитесь в рабочую книгу и сохраните ее как Рабочая книга Excel с поддержкой макросов .
⧪ Шаг 5: Окончательный вывод
Запустите код из Run Sub / UserForm на панели инструментов.
Вы найдете динамический график, созданный на основе таблицы в Лист2 рабочего листа.
О чем следует помнить
Таблица - это лучший способ создания динамической диаграммы. Потому что если вы добавите или удалите элемент из таблицы, таблица автоматически подстроится, и это произойдет с диаграммой. Но есть и другие способы достижения этой цели, например, используя Именованный диапазон .