Диаграмма Excel: макрос для определяемой пользователем переменной толщины линии

У меня есть несколько рядов данных на графике, и я хочу, чтобы каждая из примерно 55 линий на графике имела разную толщину на основе моего выбора. Я видел следующий макрос для настройки толщины всех линий за один раз.

Sub SetWeights()
    Dim srs As Series
    For Each srs In ActiveSheet.ChartObjects("Chart 1").Chart.SeriesCollection
        srs.Format.Line.Weight = 0.75
    Next
End Sub
  1. есть ли способ (макрос), чтобы каждая строка имела разную толщину, определенную в одном из Столбцов на листе Excel?

  2. есть ли способ, чтобы изменить цвет линии, а также Тип маркера в One go (нет необходимости в разных маркерах для каждой строки)?

5
задан Scott
17.04.2023 16:23 Количество просмотров материала 2891
Распечатать страницу

2 ответа

Да, вы можете форматировать толщину и цвет линии.

этот код должен форматировать series 2:

Sub SetWeights()
ActiveChart.SeriesCollection(2).Select
With Selection.Format.Line
    .Visible = msoTrue
    .ForeColor.RGB = RGB(107, 197, 135)
    .Weight = 1
End With
End Sub

вы могли бы изменить код, чтобы цикл через каждый ряд, и каждый раз, когда читаете разного цвета и веса.

Вы можете изменить Тип маркера, добавив строку:

.MarkerStyle = -4142

параметры стиля маркера перечислены здесь: https://msdn.microsoft.com/en-us/vba/excel-vba/articles/series-markerstyle-property-excel

0
отвечен Sir Adelaide 2023-04-19 00:11

хорошо, следующий макрос (полученный из https://stackoverflow.com/questions/32437999/auto-adjust-excel-chart-line-weights-with-a-loop) отвечает на мой первоначальный вопрос.

Sub SetWeights()
    Dim Srs As Series
    Dim myWeight As Range
    Dim £w As Range
    Dim j As Long

    Set myWeight = Range("Weights")

    j = 1

    With ActiveSheet
        For Each £w In myWeight
            If j > ActiveChart.SeriesCollection.Count Then Exit Sub
            ActiveChart.SeriesCollection(j).Format.Line.Weight = £w
            j = j + 1
        Next £w
    End With
End Sub

...и я могу построить такой график: возможность рисовать это

может ли кто - нибудь внести какие-либо изменения в этот макрос, чтобы я мог иметь такой график?

новый график

спасибо!

0
отвечен Ram Kulkarni 2023-04-19 02:28

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх