VBAでセル内の画像を表示・非表示する

VBAでセル内の画像を表示・非表示ができるかを試してみた。
結論として可能で、処理速度も早い。

1.単独セルの場合(6行3列目の画像)
(1)動作前

(2)5行6列目の値を0(非表示)に指定して指定セルの表示切替ボタンを押す。

(3)VBAプログラム

2.複数セルの場合(8行目の3から5列目のセル)
(1)動作前

(2)5行6列目の値を0(非表示)に指定して複数セルの表示切替ボタンを押す。

(3)VBAプログラム

3.処理時間
  セル数だけ倍増するが、セル内の画像数はそれほど倍増しない。

(1)3セル15画像の場合 2.93ミリ秒
(2)1セル5画像の場合  0.98ミリ秒→(1)の約1/3
(3)3セル3画像の場合  1.95ミリ秒→(1)の約2/3

4.参考資料
  下記のWEBページにお世話になりました。ありがとうございます。
 ・特定の範囲内にある図形を全て選択する

<個人的な感想>
思ったよりも処理速度が早い。30セルでも1秒未満と予想される。
また、画像名称を使わないので同じ画像を複数セルで表示・非表示ができる。
このメリットは大きい。