このページでは、以下の画像のようにエクセルのグラフ上にあるデータラベルの位置と大きさを自動で一括変更する方法をご紹介していきます。
ラベルが見ずらいけどデータが多くて編集が大変なときなどに役立つスキルですね。
それではさっそくうやっていきましょう。
VBAの実行環境を構築しておく
冒頭で紹介した内容はVBAを使って実行していきます。VBAを使ったことがない、という方はまずは以下の記事を参考に実行環境の構築&使い方をマスターしておきましょう。
エクセルマクロ(VBA)の始め方!初心者向けに画像を使って詳細解説
データラベルつきグラフを準備しておく
今回はグラフのデータラベル操作をVBAで自動で行いますので、操作対象にグラフはあらかじめ準備してあることを想定しています。
ですので、まずは適当なグラフをつくってデータラベルまで追加しておきましょう。
私の場合は以下のようなグラフを作成しました。
※データラベルまで追加した状態でないと、以降のサンプルコードは動きませんので、ご注意ください。
データラベルを一括編集するサンプルコード
それでは先ほどのグラフのデータラベルを一括編集してみましょう。
※今回はデータラベルの位置を左上に移動し、かつ文字を太字にしてサイズを大きくしてみます。
Sub edit_data_labels()
Dim i As Integer, num_point As Integer
num_point = ActiveChart.FullSeriesCollection(1).Points.Count
For i = 1 To num_point
ActiveChart.FullSeriesCollection(1).Points(i).DataLabel.Top = ActiveChart.FullSeriesCollection(1).Points(i).DataLabel.Top - 20
ActiveChart.FullSeriesCollection(1).Points(i).DataLabel.Left = ActiveChart.FullSeriesCollection(1).Points(i).DataLabel.Left + 20
Next
ActiveChart.FullSeriesCollection(1).DataLabels.Select
With Selection.Format.TextFrame2.TextRange.Font
.Bold = msoTrue
.Size = 30
End With
End Sub
※単純にこのコードを実行すれば良いわけではありません。
実行手順は次の項目で説明します。
データラベル編集マクロの実行手順
次はさきほどのサンプルコードの実行方法をご紹介していきます。
先ほどのコードは何かしらのグラフが選択されている状態でしか機能しません。
ですので、マクロ実行前にまずはグラフを選択している状態にしている必要があります。
つまり、以下の画像のようにまずはグラフを選択し、グラフの周囲に8つの白い丸が存在する状態にしておきます。
この状態を維持したまま、開発タブ⇒マクロ⇒edit_data_labelsを選択⇒実行という手順で実行します。
※この作業はマクロ実行ボタンを作成しておくと便利です。
ボタンの作り方は以下を参照ください。
【エクセル】マクロ実行ボタンの作成手順!画像つきで詳細解説!
ここまで実行すれば冒頭に紹介したように、データラベルの位置、大きさが一括変更されているはずです。
おわりに
というわけで今回は、エクセルVBAをつかって既存グラフ内のデータラベルの位置&フォントを一括編集する方法をご紹介しました。
グラフの見栄え調整の際に、ぜひご活用ください。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
それではまた!
コメント