本文へスキップ

別館:エクセルQC館 別館:エクセル株式館

  1. トップページ>
  2. Tips>
  3. Excel2013、VBAで棒グラフに画像を貼り付ける方法

Tipstips

備忘録として、主にパソコン関係のTipsを記載して行きます。


新着情報
@UiPath、メモ
AOffice365、Excel:VBAで画面更新がチラツク時の対策
BOffice365、Excel:勝手に手動計算になる原因
COffice365、Excel:フィルターで3つ以上の条件にする方法
DOffice365、Excel:シート同士の違いを見つける方法

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で自動化する事が出来ました。



contents

エクセル将棋館

日本国

地方都市


スポンサード リンク