Excel2013、VBAで棒グラフに画像を貼り付ける方法
Excel2013は、手頃な価格で高機能な表計算ソフトです。
またVBAによるプログラムを行うと、特に繰り返し作業では多大な威力を発揮します。
Excel2013の棒グラフには、画像を貼り付ける事が可能です。ただし、一つ一つ画像を貼り付けるのは
大変手間が掛かります。そこで、VBAによる自動化を検討しました。
パソコンは、下記のソフトを使用していました。
OS : Windows8.1(32bit)
表計算ソフト : Excel2013(32bit)
以下、Excel2013、VBAで棒グラフに画像を貼り付ける方法を記載して行きます。
(項目1)
・最初は、画像と棒グラフを準備します。
(項目2)
・次に、マクロの記録を使用して、棒グラフに画像を貼り付ける手順を記録します。
・画像を選択して、コピーします。
・棒グラフをクリックします。ここでは、全ての棒が選択されます。
・もう一度、棒グラフをクリックします。これで、一つの棒を選択できます。
・貼り付けを行います。
・これで、棒グラフに画像を貼り付ける事が出来ます。
(項目3)
・マクロの記録では、下記のコードが記録されていました。
Sub Macro1()
ActiveSheet.
Shapes.
Range(
Array("正方形/長方形 1")).
Select
Selection.
Copy
ActiveSheet.
ChartObjects("グラフ 1").
Activate
ActiveChart.
FullSeriesCollection(1).
Select
ActiveChart.
FullSeriesCollection(1).
Points(3).
Select
ActiveChart.
Paste
End Sub
・上記のマクロを実行した所、画像がグラフの右上の貼り付いてしまいました。
(項目4)
・マクロを種々検討した所、下記の様に記述すると正常に動作する事が分かりました。
Sub Macro1()
ActiveSheet.
Shapes.
Range(
Array("正方形/長方形 1")).
Select
Selection.
Copy
ActiveSheet.
ChartObjects("グラフ 1").
Activate
ActiveChart.
FullSeriesCollection(1).
Select
ActiveChart.
FullSeriesCollection(1).
Points(3).
Paste
End Sub
・上記のマクロでは、正常に棒グラフに画像を貼り付ける事が出来ます。
(項目5)
・二つのマクロの違いは、下記の通りです。
(変更前)
ActiveChart.
FullSeriesCollection(1).
Points(3).
Select
ActiveChart.
Paste
(変更後)
ActiveChart.
FullSeriesCollection(1).
Points(3).
Paste
(項目6)
・以上で、Excel2013、VBAで棒グラフに画像を貼り付ける方法は終了です。
・これで、画像を貼り付けをVBAで自動化する事が出来ました。