エクセルの折れ線グラフの線を一括で細くする

2018-11-26

エクセルの折れ線グラフのラインの太さは個別に変更できますが,一つのグラフの中のラインの太さをすべて変更する機能は付いておらず,VBA で書かないといけないようです.

今回は一括で太さを変える方法について触れていますが,同様にして一括でラインの種類を変更することもできます.

準備

エクセルファイルで VBA を実行するためには,デフォルトの .xlsx 形式ではなく .xlsm 形式にする必要があります.名前を付けて保存 で形式を変更してください.

エディタを開く

マクロが有効になるとメニューバーに 開発 タブが現れます.開発 タブの Visual Basic を押してエディタを起動してください.

起動後,左上の「プロジェクト - VBAProject」に VBAProject (ファイル名.xlsm) が表示されているので,この項目を右クリックして 挿入 > 標準モジュール を選択します.

この標準モジュール内にコードを書いて実行します.

コードを書く

Sub ChangeWeights()
    Dim i As Integer
    Dim s As Series
    For i = 1 To NUMBER
        With ActiveSheet.ChartObjects(i)
            For Each s In .Chart.SeriesCollection
                s.Border.Weight = xlThin
            Next
        End With
    Next i
End Sub

NUMBER は複数グラフを一気に操作するときにグラフの数を入れるために書いてありますが,グラフが一つであればその For 文は必要ありません.

書き終えたら,上の再生ボタンで実行できます.

ラインの太さ・種類

ラインの太さは Border オブジェクトの Weight プロパティで設定します.

定数太さ
xlHairline極細
xlThin
xlMedium
xlThick

ラインの種類は Border オブジェクトの LineStyle プロパティで設定します.(上記コード内 s.Border.LineStyle で設定可能)

定数種類
xlContinuous実線
xlDash破線
xlDashDot一点鎖点
xlDashDotDot二点鎖点
xlDot点線

最後に

VBA 使ったことなかったですが,書けるようになると便利そうですね.