web-dev-qa-db-ja.com

Excelグラフのデータ系列の線の太さを変更する(一度に多数)

Excel折れ線グラフですべての線の太さを一度に編集する方法はありますか?

約50個のデータ系列を含むグラフがありますが、それらすべてを調べて重みを個別に変更するには多すぎます。線が細いとデータが見づらくなり、少し簡単になります)。それらを複数選択する方法がわかりません。少しひどいようです。

編集:最終的には次のコードで動作するようになりました(VBを少し学んだ後)。グラフの読みやすさにはあまり役立たないようですが、Chrisがそれを整理するのを手伝ってくれたので、説明します。彼はダニです。

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
6
Chris Dennett

おそらく、次のような簡単なマクロを作成するのが最も簡単です。

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
7
chris neilsen

これは、Chrisの回答のよりコピーアンドペーストに対応したバージョンです。

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

チャートを選択してマクロを実行するだけです。

5
32bits

機能強化:スプレッドシートのセルを指すVB変数(LineWT)を作成します。次に、「Format.Line.Weight = 0.25」の代わりに、0.25をLineWTに変更します。次に、行を変更できます。スプレッドシートで変更してマクロボタンをクリックすることにより、重みを設定できます。同様のコードを使用して、スプレッドシートへのポインタでX/Y軸名を設定できます。

3
Bill

これは私にとって完璧に機能しました。このコードを使用して、ブックのすべてのシートのすべてのグラフのすべての線を編集しました

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

[ホーム]タブの[フォント]セクションで、[枠線]ドロップダウンを選択します。必要な線種または色を選択してください。鉛筆が現れます。鉛筆を使用して変更する各行をクリックする代わりに、変更するセルのグリッドの隅に移動し、CNTRLキーを押したままにします。鉛筆を必要なセルのグリッド上にドラッグすると、すべてが選択したスタイルまたは色に変わります。

0
D Loffell

このコードは、アクティブなスプレッドシート内のすべてのチャートの線幅を変更しますチャートシートを含む

' 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

(David Markmanの回答から採用。)

0
ChaimG

行を複数選択することはできないと思います。最も簡単な方法は、おそらく1つを変更してから、それぞれをオンに選択し、Ctrl-Yを使用して線の太さの変更をやり直すことです。

0
Rhys Gibson