Как создать гистограмму в vba (с примером)
Вы можете использовать следующий базовый синтаксис для создания гистограммы в Excel с помощью VBA:
SubCreateBarChart ()
Dim MyChart As ChartObject
' get input range from user
Set Rng = Application.InputBox(Prompt:=" Select chart input range ", Type:=8)
'create bar chart
Set MyChart = Worksheets(" Sheet1 ").ChartObjects.Add(Left:=ActiveCell.Left, _
Width:=400, Top:=ActiveCell.Top, Height:=300)
MyChart.Chart.SetSourceDataSource:=Rng
MyChart.Chart.ChartType = xlColumnClustered
End Sub
Этот конкретный макрос предложит пользователю ввести диапазон ввода, а затем автоматически сгенерирует гистограмму, используя диапазон ввода, и вставит ее в лист с именем Лист1 , при этом верхний левый угол диаграммы будет расположен в активной в данный момент ячейке.
В следующем примере показано, как использовать этот макрос на практике.
Пример: как создать гистограмму в VBA
Предположим, у нас есть следующий набор данных в Excel, содержащий информацию об очках, набранных различными баскетболистами:
Допустим, мы хотим использовать VBA для создания гистограммы с использованием этого набора данных.
Для этого мы можем создать следующий макрос:
SubCreateBarChart ()
Dim MyChart As ChartObject
' get input range from user
Set Rng = Application.InputBox(Prompt:=" Select chart input range ", Type:=8)
'create bar chart
Set MyChart = Worksheets(" Sheet1 ").ChartObjects.Add(Left:=ActiveCell.Left, _
Width:=400, Top:=ActiveCell.Top, Height:=300)
MyChart.Chart.SetSourceDataSource:=Rng
MyChart.Chart.ChartType = xlColumnClustered
End Sub
Чтобы запустить этот макрос, мы можем щелкнуть вкладку «Разработчик» на верхней ленте Excel, а затем нажать «Макросы» .
Затем мы можем щелкнуть по элементу с надписью CreateBarChart, а затем нажать «Выполнить» :
Как только мы нажмем «Выполнить» , нам будет предложено ввести диапазон ввода для нашей гистограммы:
Мы напечатаем A1:B7 , затем нажмите OK .
Следующая гистограмма будет автоматически создана и отображена в верхнем левом углу диаграммы, расположенном в активной в данный момент ячейке, которой является ячейка D1 :
Примечание . Вы можете изменить значения аргументов «Ширина» и «Высота» в функции ChartObjects.Add() , чтобы настроить ширину и высоту гистограммы соответственно.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как найти последнюю использованную строку
VBA: как подсчитать количество строк в диапазоне
VBA: как подсчитать количество используемых столбцов