Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjectsオブジェクト » ループを使わずテキストボックスをすべて削除する

ループを使わずテキストボックスをすべて削除する

対象:Excel2003, Excel2007, Excel2010

アクティブシートのテキストボックスをすべて削除するマクロをご紹介しました。

ShapesのCountだけループを回して、もしTypeがmscTextBoxだった削除するという方法を使ったマクロです。

この記事の最後に示唆したとおり、実は、ループ回さなくても、テキストボックスを一括削除することができます。

[スポンサードリンク]

その方法をご紹介しておきます。


▼アクティブシートのテキストボックスだけをまとめて削除するコード
ActiveSheet.TextBoxes.Delete

「ActiveSheet.TextBoxes.Delete」というコードだけで、アクティブなシートのテキストボックスをすべて削除できてしまいます。

イミディエイトウィンドウに、
  ActiveSheet.TextBoxes.Delete
と入力して[Enter]キーを押せば、テキストボックスを削除できます。

あるいは、
  Sub テキストボックスを削除する()
   ActiveSheet.TextBoxes.Delete
  End Sub
なんていうマクロにしてもOKです。

TextBoxesメソッドは、オブジェクトブラウザーでは非表示になっていますけれど、
  ActiveSheet.TextBoxes.Delete
というコードは割と有名なコードのようで、日本語圏でも英語圏でも掲示板などでよく紹介されています。

とても便利なTextBoxesメソッドですが、非表示になっているわけですから、将来使えなくなる可能性があるという覚悟を、一応しておくほうがいいかな、と思います。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjectsオブジェクト » ループを使わずテキストボックスをすべて削除する

TrackBack:0

TrackBack URL

Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjectsオブジェクト » ループを使わずテキストボックスをすべて削除する

「DrawingObjectsオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.