このページでは、エクセルシート上にある複数のグラフを、大きさを調整し、さらに指定方向に整列させる方法をご紹介していきます。
上の画像は横方向に整列させていますが、縦方向に並べることも可能です。
また、上の画像は3つのグラフしかありませんが、基本的には何個グラフがあっても自動で対応できるようになっています。
シート整理の際にぜひご活用ください。
VBAの実行環境を構築しておく
冒頭で紹介した作業を行うには、VBAを使う必要があります。
VBAを使ったことがないひとは、まずは以下の記事を参考に実行環境を構築しておきましょう。
エクセルマクロ(VBA)の始め方!初心者向けに画像を使って詳細解説
グラフを横方向に整列させるサンプルコード
それではコーディングに入りましょう。
まずは冒頭に紹介したように横方向に整列されるサンプルコードです。
Sub chart_post_adjust()
Dim i As Integer
Dim chart_width As Integer, chart_height As Integer
chart_width = 300
chart_height = 200
margin = 100
For i = 1 To ActiveSheet.ChartObjects.Count
With ActiveSheet.ChartObjects(i)
.Width = chart_width
.Height = chart_height
.Left = (i - 1) * (chart_width + margin)
.Top = 0
End With
Next
End Sub
実行前はこんな感じ。
先ほどのコードを実行すると以下の画像のように大きさが統一され、かつ横方向に整列します。
グラフを縦方向に整列させるサンプルコード
次は縦方向に整列されるサンプルコードです。
Sub chart_post_adjust2()
Dim i As Integer
Dim chart_width As Integer, chart_height As Integer
chart_width = 300
chart_height = 200
margin = 50
For i = 1 To ActiveSheet.ChartObjects.Count
With ActiveSheet.ChartObjects(i)
.Width = chart_width
.Height = chart_height
.Left = 0
.Top = (i - 1) * (chart_height + margin)
End With
Next
End Sub
こいつを実行すると以下の画像のように縦方向に整列します。
どちらのパターンも問題なく実行できていますね。
おわりに
というわけで今回は、エクセルVBAをつかってシート上にある複数のグラフのサイズを統一し、さらに横、縦方向に整列させる方法をご紹介しました。
シートの整理の際にぜひご活用ください。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
それではまた!
コメント