VBAでセルの選択方法や操作方法がわかっても、ワークシートに貼った図形(オートシェイプ)については同じようにいかないくて悩んでいる人も多いはずです。
ワークシートに貼った図形の選択方法について説明します。
ワークシート上の特定の図形の選択方法
ワークシート上の特定の図形を選択するには、shapesプロパティを使って参照します。
その前に、特定の図形を参照するためには
- 図形の「名前」で参照する。
- 図形の「インデックス番号」で参照する。
の2種類があります。
図形の名前で選択する方法
上のシート例で、一番左のひし形を選択してみましょう。
Sub 図形の名前で選択()
ActiveSheet.Shapes("ひし形 1").Select
End Sub
「ひし形1」は図形の名前です。
図形の名前の確認方法は、ワークシート上にある図形を直接クリックします。
画面左上のウインドウに図形の名前が表示されます。
インデックス番号で選択する方法
図形のインデックス番号は、ワークシート上に図形が生成された順や重なりに応じて付される、図形の管理番号のようなものです。
インデックス番号1番の図形を選択してみましょう。
Sub インデックス番号で選択()
ActiveSheet.Shapes(1).Select
End Sub
Shapes(インデックス番号) という書き方をします。
インデックス番号の確認方法は、
ホーム → 検索と選択 → オブジェクトの選択と表示
で確認できます。
一番下のオブジェクト(例ではひし形1)がインデックス番号1で、下から順にオブジェクト番号が昇順(上に行くほど番号が大きい)で付されています。
ちなみに、右欄の「選択」ウインドウに表示されているオブジェクト名(図形名)をドラッグして順番を入れ替えてみると、それに伴ってワークシート上の図形の重なりが変化します。
それに伴って、インデックス番号も、「選択」ウインドウの下から昇順に番号が付け直されます。
つまり、インデックス番号は一定ではなく、図形の重なりや図形の数によって変化する番号なので、インデックス番号で図形を選択する際には注意が必要です。
コメント