1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Excel]グラフの見た目を一括コピーする

Last updated at Posted at 2020-05-03

※ これは 2017/8/7 に個人ブログへ投稿した内容を転記したものです。

データをまとめるときに、同じ書式や軸設定で複数のグラフを作りたくなるのですが、ひとつずつ設定していくとものすごく手間がかかりますよね。
かといって、グラフごとコピーして参照先を変えるのも面倒…

というわけでグラフを書式コピーする方法を探したところ、こんな方法があるようです。
「Excelの便利機能活用術」グラフ作成の「書式設定」を簡略化する|NECネクサソリューションズ

でも、この方法では複数のグラフを選択すると「形式を指定して貼り付け」が出てきません(白目

グラフ書式を貼り付けるマクロ

先ほどの手順をマクロに記録してやると、どうやらこの「形式を指定して貼り付け」は

ActiveSheet.PasteSpecial Format:=2

に相当しているらしい。ということは

Public Sub グラフ書式を貼り付け()
    Application.ScreenUpdating = False
    Dim x As Object
    Dim xi As Object
 
    Set x = Selection
    If TypeName(x) <> "DrawingObjects" Then
        If Not ActiveChart Is Nothing Then
            ActiveSheet.PasteSpecial Format:=2
        End If
    Else
        For Each xi In x
            If TypeName(xi) = "ChartObject" Then
                xi.Select
                ActiveSheet.PasteSpecial Format:=2
            End If
        Next
    End If
 
    Set x = Nothing
    Application.ScreenUpdating = True
End Sub

これでOK。

使い方

  1. 元となるグラフをコピー (Ctrl + C)
  2. 見た目を揃えたいグラフを選択 (Ctrl + 左クリック)
  3. 上記のマクロを起動:マクロにショートカットキーを割り当ておくと便利

複数の選択されたグラフを一括処理する方法はこちらを参考にしました。
エクセルのマクロでアクティブシート内の選択した複数のグラフのみ軸の- その他(Microsoft Office) | 教えて!goo

選択されているグラフがひとつの場合と複数の場合とで条件分岐して、複数の場合は x に格納しておいた選択されたグラフのリストからひとつずつ選択状態にして PasteSpecial しています。

備考

ちなみに、

Chart.Paste Type:=xlPasteFormats

は、上手くいかなかったです…(Excel 2010

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?