Изменение веса линий рядов данных в диаграмме Excel (много сразу)

есть ли способ изменить вес всех линий сразу на линейном графике Excel?

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

Edit: в конце концов я получил его, работая со следующим кодом (после изучения немного VB). Я не похоже, чтобы помочь читаемости графика много, хотя! Крис помог мне разобраться, так что я поставлю ему галочку.

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
2
задан Chris Dennett
29.01.2023 15:45 Количество просмотров материала 2711
Распечатать страницу

7 ответов

наверное, проще всего написать быстрый макрос, что-то вроде

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
5
отвечен chris neilsen 2023-01-30 23:33

это более copy-and-paste совместимая версия ответа Криса:

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

просто выберите диаграмму и запустите макрос.

3
отвечен 32bits 2023-01-31 01:50

улучшение: создайте переменную VB (LineWT), которая указывает на ячейку в электронной таблице. Тогда вместо " Format.Линия.Вес = 0,25 " изменение 0,25 на LineWT. Затем можно изменить вес линии, изменив его в электронной таблице и нажав кнопку макрос. Подобный код можно использовать для задания имен осей X / Y с указателями на электронную таблицу.

3
отвечен Bill 2023-01-31 04:07

это отлично сработало для меня. Я использовал этот код, чтобы он редактировал все строки во всех диаграммах на всех листах книги

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
2
отвечен David Markman 2023-01-31 06:24

Я не думаю, что вы можете выбрать несколько строк. Самый простой способ, вероятно, изменить один, а затем выбрать каждый по очереди использовать Ctrl-Y, чтобы пройти и повторно сделать изменение веса линии.

0
отвечен Rhys Gibson 2023-01-31 08:41

этот код изменяет ширину всех таблиц в активной таблице в том числе листы диаграмм:

' 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

(адаптировано из ответа Дэвида Маркмана.)

0
отвечен ChaimG 2023-01-31 10:58

на вкладке Главная В разделе Шрифт выберите в выпадающем границ. Выберите нужный стиль или цвет линии. Появится карандаш. Вместо использования карандаша для щелчка по каждой строке, которую требуется изменить, перейдите в угол сетки ячеек, которые требуется изменить, и удерживайте клавишу CNTRL. Перетащите карандаш по нужной сетке ячеек, и все изменится на выбранный вами стиль или цвет.

0
отвечен D Loffell 2023-01-31 13:15

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

Ваш ответ

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

Имя
Вверх