画像をまとめて削除する
マクロ講座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
では、実際に動作を確認しましょう。
画像がいっぱい表示されたシートを表示してマクロを実行します。
画像がいっぱい表示されたシートを表示してマクロを実行します。
一瞬で画像が削除されました。