画像をまとめて削除する
マクロ講座28回 マクロで図形を操作するには

xcel 2013 マクロ講座 28回
選択シート内の画像をまとめて削除する
27回選択したセル範囲全体を連続処理するに引き続き、今回もFor Each~Nextステートメントを使います。
(サンプルファイルは、こちらから 2013マクロ講座28回サンプルデータ)
マクロで図形を操作するには
図形描画オブジェクトの予備知識
ワークシート上の図形、または描画オブジェクトは、マクロでは、なんと表すでしょうか。
これらは、3 つの異なるオブジェクトの、
Shapes コレクション、
ShapeRange コレクション、および
Shape オブジェクトで表されます。

図形を削除するコードを書く
For Each~Nextステートメントを以下の用に使います。

では、Visual Basic Editorを起動します。
Alt+F11 でVBEの起動ができます。
「挿入」メニューの「標準モジュール」をクリックします。コードは、「標準モジュール」上に記入します。
以下のように、コードを記述します。
Sub 画像まとめて削除() と書くと、
自動的に、
End Subと記入されます。
変数名は、わかりやすくするために「画像」としておきます。
Dim 画像 As Shape
操作対象は、Sheet1上の画像、またはActiveShee上の画像です。
表し方は、Sheet1.Shapes、ActiveSheet.Shapes
すると、For Each~Nextステートメントの構文は、以下のようになりますよ。

何をしたいかといえば、Delete です。
画像.Delete
コードは、このようになります。
Sub 画像まとめて削除()
Dim 画像 As Shape
For Each 画像 In ActiveSheet.Shapes
画像.Delete
Next
End Sub
では、実際に動作を確認しましょう。
画像がいっぱい表示されたシートを表示してマクロを実行します。

一瞬で画像が削除されました。
