Gráfico Excel: macro para espessura de linha variável definida pelo usuário

0

Eu tenho várias séries de dados em um gráfico e quero que cada uma das cerca de 55 linhas no gráfico tenha espessuras diferentes com base na minha escolha. Eu vi a macro a seguir para ajustar a espessura de todas as linhas de uma só vez.

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. Existe alguma maneira (macro) para que cada linha tenha espessura diferente, conforme definido em uma das colunas na planilha do Excel?

  2. Existe alguma maneira similar de alterar a cor da linha, bem como o tipo de marcador de uma só vez (sem necessidade de um marcador diferente para cada linha)?

por Ram Kulkarni 06.03.2018 / 06:15

2 respostas

0

Sim, você pode formatar a espessura e a cor da linha.

Este código deve formatar a série 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

Você pode modificar o código para percorrer cada série e, a cada vez, ler uma cor e um peso diferentes.

Você pode alterar o tipo de marcador adicionando uma linha como:

.MarkerStyle = -4142

As opções para o estilo do marcador estão listadas aqui: link

    
por 06.03.2018 / 07:13
0

Ok, a macro a seguir (obtida de link ) responde à minha pergunta original.

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

... e sou capaz de traçar esse gráfico: Capaz de desenhar isso

Alguém pode fornecer alguma modificação a esta macro para que eu possa ter esse gráfico?

Novo gráfico esperado

Obrigado!

    
por 06.03.2018 / 10:40