エクセルに配置した画像や図形をVBAで編集することは多いと思います。
その際に画像を選択したり、選択の解除したりしなくてはなりません。
今回は画像や図形のSelectを解除する方法について徹底的に説明します。
参考:Excel VBA入門 その51:Select、Selection、Activate、ActiveCellの違い徹底解説
画像や図形のSelectを解除する方法
そもそもSelectするとは
エクセルで画像や図形を選択するということは、どういう動作なのでしょうか。
例えば、シート上に以下のように3個の図がある場合を考えてみます。
この図形を全選択するには、図形を1個選択(左クリック)した状態「Ctrlキー+A」で全選択でっきます。
これをVBAコードでは、以下のように「SelectAll」プロパティを使って記述します。
Sub 全選択()
ActiveSheet.Shapes.SelectAll
End Sub
実行すると、以下のようにすべての図形が選択された状態になります。
Selectを解除するということは
それでは、全選択された図形の選択を解除するにはどうすればよいでしょうか。
エクセル上でこの状態を解除する場合を考えてみます。
画像や図形の選択を解除するには、図形じゃないセルを選択(クリック)すればよいですよね。
考えるまでもないです。
いやそうじゃなくて、ようするにSelectAllの逆をしたいんだ!「解除All」をしたいんだ!!
そう考えると思いますが、残念ながら、VBAではSelectAllを解除する方法、つまり解除Allというメソッドは設定されていません。
というわけで、一応、図形選択を解除するコードを紹介します。(・・・と言っても、セルA1を選択しているだけですが、、、)
Sub 選択解除()
Range("A1").Select
End Sub
実行すると、セルA1にカーソルが移動することにより、図形の選択が解除されます。
【まとめ】画像や図形のSelectを解除する方法
VBAでは、画像や図形のSelectを解除するためのメソッドは設定されていません。
そのかわり、Selectされている図形の選択を解除するためには適当なセルを選択することにより、Selectを解除することができます。
VBAやエクセルでは、画像や図形の選択・解除を頻繁に使用しますのでぜひ覚えておいてくださいね。
参考:Excel VBA入門 その51:Select、Selection、Activate、ActiveCellの違い徹底解説
コメント
[…] 参考:Excel VBA入門 その54:ShapeのSelectを解除する方法 […]
[…] 参考:Excel VBA入門 その54:ShapeのSelectを解除する方法 […]