Как нарисовать круглый маркер в легенде с помощью VBA?

Как можно создать круглую метку в легенде Excel с использованием скрипта или с помощью VBA?
Изображение к вопросу
Изображение к вопросу
  • 19 января 2024 г. 6:09
Ответы на вопрос 2
Чтобы нарисовать круглый маркер в легенде Excel с помощью VBA, обычно необходимо создать диаграмму, в которой одна из серий данных использует круглые маркеры. После этого легенда автоматически отразит выбранный стиль маркера для этой серии. Ниже представлены шаги и пример кода VBA для создания простой диаграммы с круглыми маркерами в легенде.

Для начала нужно открыть Excel и вставить новую диаграмму или дополнить существующую:

1. Откройте книгу Excel, где вы хотите добавить диаграмму.
2. Выделите данные, которые хотите представить в диаграмме.
3. Активируйте редактор Visual Basic for Applications нажатием Alt + F11.
4. В меню выберите "Insert" > "Module" для добавления нового модуля.
5. Скопируйте и вставьте следующий код в модуль:

```vba
Sub CreateRoundMarkerChart()
    Dim chartObj As ChartObject
    Dim series As Series
    Dim chartData As Range

    ' Выделяем данные для диаграммы
    Set chartData = Selection ' Или укажите конкретный диапазон, например ThisWorkbook.Sheets("Sheet1").Range("A1:B10")
    
    ' Создаём диаграмму
    Set chartObj = ActiveSheet.ChartObjects.Add(Left:=100, Width:=375, Top:=50, Height:=225)
    With chartObj.Chart
        ' Устанавливаем тип диаграммы
        .ChartType = xlLineMarkers
        
        ' Добавляем данные в диаграмму
        Set series = .SeriesCollection.NewSeries
        With series
            .Values = chartData.Columns(2)
            .XValues = chartData.Columns(1)
            .MarkerStyle = xlMarkerStyleCircle
            .MarkerSize = 7
            .Name = "Описание серии"
        End With
        
        ' Настраиваем легенду
        .HasLegend = True
    End With
End Sub
```

6. Запустите макрос, нажав F5 или выберите "Run" > "Run Sub/UserForm".

Этот код создаст в активном листе новый объект диаграммы с одной серией данных, представленной в виде линии с круглыми маркерами. Легенда будет автоматически обновлена для отображения круглых маркеров.

Обратите внимание, что вы можете настроить этот код под свои нужды, изменяя параметры выборки данных, стиля маркера, размера маркера и т.п.
Найти chartObj и применить: 
Похожие вопросы