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秒未満と予想される。
また、画像名称を使わないので同じ画像を複数セルで表示・非表示ができる。
このメリットは大きい。