Windows7 & Office2010 Excel2010

Print Friendly, PDF & Email

円グラフの要素の色を固定する

投稿日:2017年1月7日 更新日:

Excelでグラフを作成すると、1番目の色、2番目の色・・・と決まった色で設定されます。
たとえば、下のように関東の表では、A社→B社→C社→D社の順位で、円グラフの要素の色は赤→黄緑→水色→ピンクです。
九州の表では、D社→C社→B社→A社の順位で、円グラフの要素は同じく赤→黄緑→水色→ピンクとなります。

これを、下の画像のようにA社は常に赤、B社は黄緑、C社は水色、D社はピンクというように会社ごとに色を固定したい場合の方法です。
毎回、グラフの要素ごとに設定を変更すればいいのですが、面倒なのでマクロを作成してみました。
※積み上げ棒グラフの系列ごとの色固定は、マクロも作りやすいのですが、円グラフは簡単にはできないんですね。
ネットで検索して、あちこちのサイトにお世話になりながら思いついた方法です。本当はもっとスマートな方法があるかもしれません。

上の関東の表は、A社が赤、B社が黄緑、C社が青、D社がピンクになっているので、各要素の色はこの色で固定します。
セルA1からセルA4の色の順番が円グラフの色の順番になります。九州の会社名をコピーします。ここではセルC18からセルC21までです。

セルA1に貼り付けます。

マクロを実行したい円グラフを選択して、マクロの[円グラフの色指定]を実行します。

九州の円グラフは、A社が赤、B社が黄緑、C社が青、D社がピンクになります。A列は削除して構いません。

このマクロは、VBA 円グラフの色設定(Chart,SeriesCollection):Excelマクロサンプル集を参考にさせていただきました。(人-)謝謝

では、マクロです。[色設定]と[円グラフの色指定]の2つですが、実行するのは[円グラフの色指定]です。
[円グラフの色指定]の中で、[色設定]マクロを呼び出しています。
RGB値は、Office TANAKA - グラフ[ColorプロパティとRGB関数について]を参考に計算しました。
VBAは、得意ではないので、上記サイトで学習しながら作成したものです。
一応、これで動作はしています。ピボットグラフでも使えます。(Excel2010で確認)
あくまで参考として見てください。


Sub 色設定()

Dim FoundCell As Range

Set FoundCell = Range("A1:A4").Find(What:="A社")
If FoundCell Is Nothing Then
Else
FoundCell.Select
ActiveCell.Interior.Color = 255
End If

Set FoundCell = Range("A1:A4").Find(What:="B社")
If FoundCell Is Nothing Then
Else
FoundCell.Select
ActiveCell.Interior.Color = 3537312
End If

Set FoundCell = Range("A1:A4").Find(What:="C社")
If FoundCell Is Nothing Then
Else
FoundCell.Select
ActiveCell.Interior.Color = 16763904
End If

Set FoundCell = Range("A1:A4").Find(What:="D社")
If FoundCell Is Nothing Then
Else
FoundCell.Select
ActiveCell.Interior.Color = 16764159
End If

End Sub


Sub 円グラフの色指定()

Dim i As Long

With ActiveChart.SeriesCollection(1)

Call 色設定

For i = 1 To .Points.Count
.Points(i).Interior.Color = Cells(i, 1).Interior.Color
Next i
End With

End Sub


マクロボタンは、クイックアクセスツールバーやタブにに登録しておくと便利です。
マクロをタブに登録するにはを参考にしてください。

マクロをタブに登録するには

Office2010では、タブのカスタマイズができるようになりました。 非常に便利ですね。 Excelのマクロやアドインは、クイックアクセス ...

続きを見る

解決できないことは【teratail】で質問してみましょう。

参考Officeのバージョンによって操作が異なる場合があります。以下の記事で、お使いのOfficeのバージョンを確認する方法を解説しています。

Office(Word、Excel、PowerPointなど)のバージョンを確認する方法

Microsoft Officeも時を得て、大きく様変わりしてきました。トラブルを解決しようとするとき、あるいは、何かの操作を探すときなど、 ...

続きを見る

お勧めのテキストです。

おすすめ記事と広告

こんな記事も読まれています

画面の上端に移動させると最大化になるのを無効にするには

Windows7では、ウィンドウのタイトルバーを画面の上端へドラッグすると、ウィンドウが最大化になります。また、右端に移動させると右半分に、 ...

クリップオーガナイザー

Office2003、Office2007では、[クリップアート]作業ウィンドウから[クリップの整理]をクリックして、[クリップオーガナイザ ...

目次の作成(テキストの追加)

目次の作成方法の1つです。 [テキストの追加]ボタンを使って作成する方法です。Word2010で解説していますが、他のバージョンも同じです。 ...

リンクされた図として貼り付け

別のワークシートの表を図として貼り付けたい、そのうえ セルの数値はリンクしたいってことがあります。 たとえば、下のような[報告書]シートがあ ...

アルファベットの縦書き

アルファベットを縦書きで表示したい場合は、全角文字にして縦書きにします。 でも、下のように半角英数(直接入力モード)で横書きで入力したアルフ ...

-Windows7 & Office2010 Excel2010

Copyright © 2001-2017 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2017 AllRights Reserved Powered by AFFINGER4.