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

ワークシート上の図形、または描画オブジェクトは、マクロでは、なんと表すでしょうか。
これらは、3 つの異なるオブジェクト、 Shapes コレクション、 ShapeRange コレクション、および Shape オブジェクトで表されます。

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


では、Visual Basic Editorを起動します。

Alt+F11 でVBEの起動ができます。
「挿入」メニューの「標準モジュール」をクリックします。コードは、「標準モジュール」上に記入します。

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

何をしたいかといえば、Delete です。
画像.Delete

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

画像がいっぱい表示されたシートを表示してマクロを実行します。

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


スポンサーリンク
スポンサーリンク