この記事では、以下の画像のようにVBAを使って既存の棒グラフの装飾を一発変更する方法をご紹介していきます。
基本的にはバーの中の色、バー周りの枠の色、グラデーションの方法を調整するだけでOKです。
それではさっそくやっていきましょう。
※この記事の内容を実行するには、VBAの実行環境を整えておく必要があります。
VBAを使ったことがない人は、まずは以下の記事を参考に環境構築を進めましょう。
エクセルマクロ(VBA)の始め方!初心者向けに画像を使って詳細解説
VBAで棒グラフの色を自動変更するVBAコード
いきなりですが、以下が冒頭に紹介した棒グラフの装飾を一発変更するVBAコードです。
Sub change_bar_color()
ActiveChart.FullSeriesCollection(1).Select
'棒の中の色、グラデーションを変更
With Selection.Format.Fill
.ForeColor.RGB = RGB(255, 0, 0)
.TwoColorGradient msoGradientHorizontal, 1
End With
'棒の周囲の色を変更
Selection.Format.Line.ForeColor.RGB = RGB(0, 0, 0)
End Sub
簡単に使い方を解説しておきます。
〇4行目でバーの中の色をRGBで指定
〇5行目でバーの中のグラデーションの方法を指定
〇8行目でバーの周りの枠の色を指定
やることはたったのこれだけです。
非常に簡単ですね。
※RGBが何かわからない人は以下の記事を参考にしてみてください。
【VBA】セルの背景色&文字色を変更する方法!RGB概念から解説!
また、グラデーションの変更方法については、
5行目のmsoGradientHorizontalをmsoGradientVerticalに変えてみたり、その後ろの1を2ととかに変えると調整できます。
お好みのグラデーションになるように適宜調整しましょう。
サンプルコードの使い方
先ほどのコードは何かしらのグラフが選択されている状態でないと機能しません。
そのため実行する際はまず以下の画像のようにグラフを選択した状態にします。
(周囲に8つの〇が表示されていればOKです。)
この状態で、開発タブ⇒マクロ⇒change_bar_colorを選択⇒実行の順に進めればOKです。
おわりに
というわけで今回はデータから棒グラフを装飾を自動で一発変更する方法をご紹介しました。
ぜひ業務効率化にご活用ください。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
それではまた!
コメント