この記事では、シート上に設置されているコントロールやシェイプを全て削除する方法についてご説明します。
【動画】シート上に設置されているコントロールやシェイプを全て削除する実際の動き
本題に入る前に、まずは次の動画をご覧ください。
シート上に設置されているすべてのコントロールやシェイプを取得してDeleteメソッドで削除しています。
マクロ作成の流れ
コードの例
Option Explicit Sub test() Dim shp As Shape 'Shape型の変数を宣言 'ActiveSheetオブジェクト内の全てのShapeを繰り返し処理 For Each shp In Worksheets("top").Shapes 'Shapeを削除する shp.Delete Next shp End Sub
注目すべきコード①
最初に見て頂きたいのは8行目です。
'ActiveSheetオブジェクト内の全てのShapeを繰り返し処理 For Each shp In Worksheets("top").Shapes
コードの説明
以上のコードは、シート上に設置されているコントロールやシェイプを全て取得するFor文です。
For文内でソート上に設置されているコントロールやシェイプを一つずつ取得します。
取得したコントロールやシェイプは変数shpに格納されます。
注目すべきコード②
次に見て頂きたいのは11行目です。
'Shapeを削除する shp.Delete
コードの説明
「注目すべきコード①」で取得したコントロールやシェイプを、Deleteメソッドで削除します。
動作確認
マクロ実行前
以下のExcelのシートにコントロールやシェイプが適当に配置されています。
マクロ実行後
マクロが実行されると、Excelのシートに配置されていたコントロールやシェイプが全て削除されました。
最後に
この記事では、シート上に設置されているコントロールやシェイプを全て削除する方法についてご説明しました。
シート上に設置されているコントロールやシェイプを取得し削除するを繰り返すことでシート上からコントロールやシェイプが無くなります。
シート上に設置されているコントロールやシェイプを全て削除したいけど手動でやるのは面倒…という場合は本マクロを参考にしてみてくださいね。
プログラミングのスキルを習得するなら
プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。
プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。