Alterando as ponderações de linha da série de dados no gráfico do Excel (muitas de uma vez)

4

Existe uma maneira de editar o peso de todas as linhas de uma só vez em um gráfico de linhas do Excel?

Eu tenho um gráfico com cerca de 50 séries de dados, e é muito para passar por todos eles e alterar os pesos individualmente, e é difícil ver os dados se as linhas eram mais finas, seria um pouco Mais fácil). Não consigo ver uma maneira de selecioná-los, o que parece um pouco ruim.

Edit: Eu finalmente consegui trabalhar com o seguinte código (depois de aprender um pouco de VB). Eu não pareço ajudar a legibilidade do gráfico muito embora! Chris ajudou-me a resolver o problema, por isso vou dar-lhe o carrapato.

Sub onepxlines()
        With Selection
            MsgBox ("Selection: " & TypeName(Selection))
            If TypeName(Selection) = "ChartArea" Then
                Dim area As ChartArea
                Set area = Selection

                MsgBox ("Area parent: " & TypeName(area.Parent))

                If TypeName(area.Parent) = "Chart" Then
                    Dim chart As chart
                    Set chart = area.Parent
                    Dim srs As Series

                    For Each srs In chart.SeriesCollection
                        srs.Format.Line.Weight = 1.5
                    Next
                End If
            End If
        End With
End Sub
    
por Chris Dennett 16.11.2011 / 00:02

7 respostas

5

Provavelmente, é mais fácil escrever uma macro rápida, algo como

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
    
por 16.11.2011 / 06:31
3

Esta é uma versão mais compatível com copiar e colar da resposta de Chris:

Sub SetWeights()
    Dim srs As Series
    For Each srs In ActiveChart.SeriesCollection
        srs.Format.Line.Weight = 0.25
    Next
End Sub

Basta selecionar o gráfico e executar a macro.

    
por 12.12.2013 / 20:14
3

Aprimoramento: crie uma variável VB (LineWT) que aponte para uma célula na planilha. Então, em vez de "Format.Line.Weight = 0.25", mude 0.25 para LineWT. Em seguida, você pode alterar o peso da linha alterando-o na planilha e clicando no botão da macro. Você pode usar um código semelhante para definir nomes de eixos X / Y com ponteiros para a planilha.

    
por 05.04.2016 / 23:12
2

Isso funcionou perfeitamente para mim. Eu usei esse código para editá-lo em todos os gráficos em todas as planilhas de uma pasta de trabalho

Sub ChangeLineType()

'This macro will print all embedded charts in the active workbook
'
    Application.ScreenUpdating = False
    Dim Sht As Object
    Dim Cht As ChartObject
    For Each Sht In ActiveWorkbook.Sheets
        For Each Cht In Sht.ChartObjects
            Cht.Activate
            ActiveChart.ChartArea.Select
            'ActiveWindow.SelectedSheets.PrintOut
                Dim srs As Series
                For Each srs In ActiveChart.SeriesCollection
                srs.Format.Line.Weight = 0.25
                Next
        Next
    Next
End Sub
    
por 04.09.2014 / 20:14
0

Eu não acho que você pode selecionar várias linhas. A maneira mais simples é provavelmente alterar um e, em seguida, selecionar cada um deles, por sua vez, use Ctrl-Y para percorrer e refazer a alteração de peso da linha.

    
por 16.11.2011 / 01:15
0

Este código altera a largura da linha de todos os gráficos na planilha ativa incluindo as planilhas de gráfico :

' Sets the line thickness for all charts in the active spreadsheet.
Sub ChangeLineType()
    Dim Cht As Chart
    Dim Chts As New Collection
    Dim Sht As Object   ' Can be Chart or WorkSheet

    For Each Sht In ActiveWorkbook.Sheets
        If TypeName(Sht) = "Chart" Then
            Chts.Add Sht
        Else
            For Each Cht In Sht.ChartObjects
                Chts.Add Cht
            Next
        End If
    Next

    Application.ScreenUpdating = False
    For Each Cht In Chts
        Dim Srs As Series
        For Each Srs In Cht.SeriesCollection
            Srs.Format.Line.Weight = 0.25
        Next Srs
    Next Cht
End Sub

(Adaptado da resposta de David Markman.)

    
por 14.11.2016 / 02:47
0

Na guia Início, na seção Fonte, selecione a lista suspensa Bordas. Escolha o estilo de linha ou a cor desejada. Um lápis aparecerá. Em vez de usar o lápis para clicar em cada linha que você deseja alterar, vá para o canto da grade de células que você deseja alterar e mantenha pressionada a tecla CNTRL. Arraste o lápis sobre a grade de células necessária e tudo mudará para o estilo ou cor que você selecionou.

    
por 19.05.2017 / 11:01