Как создать гистограмму в 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 :

Гистограмма VBA

Примечание . Вы можете изменить значения аргументов «Ширина» и «Высота» в функции ChartObjects.Add() , чтобы настроить ширину и высоту гистограммы соответственно.

Дополнительные ресурсы

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *