Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » アクティブシート上のテキストボックスをすべて削除するExcelマクロ

アクティブシート上のテキストボックスをすべて削除するExcelマクロ

対象:Excel2003, Excel2007, Excel2010

「エクセル2010 テキストボックス まとめて削除」
という検索が行われていました。

オブジェクトをすべて削除するのなら、[ジャンプ]ダイアログから[選択オプション]ダイアログや、[Ctrl]+[Shift]+[スペース]キーで、全オブジェクトを選択しておいて[Delete]キーを押すという操作でいいでしょう。

しかし、すべてのすべてのオブジェクトではなく、テキストボックスだけをすべて削除するとなるとちょっと面倒です。

で、VBAで、マクロを作成してみました。

[スポンサードリンク]

アクティブシートのテキストボックスを削除するサンプルマクロ

アクティブなシートに含まれているすべてのテキストボックスを削除するマクロです。


Sub アクティブシートのテキストボックスをすべて削除する()
 Dim i As Long
 With ActiveSheet.Shapes
  For i = .Count To 1 Step -1

   If .Item(i).Type = msoTextBox Then
    .Item(i).Delete
   End If

  Next i
 End With
End Sub

サンプルマクロで行っている処理

アクティブなシートのShapeオブジェクトを順番に調べて、
  For i = .Count To 1 Step -1

Typeプロパティが「msoTextBox」のときにDeleteしています。
   If .Item(i).Type = msoTextBox Then
    .Item(i).Delete

実は、もっと簡単なマクロで、ループを回さなくても、アクティブシートのテキストボックスだけを削除できますが、それは別ネタとして、近日中にご紹介しますループを回さないマクロをご紹介しました。2012-05-01)

最終更新日時:2019-06-13 05:43

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » アクティブシート上のテキストボックスをすべて削除するExcelマクロ

TrackBack:2

TrackBack URL
アクティブシートのテキストボックスをすべて削除する-ActiveSheet.TextBoxes.Delete from インストラクターのネタ帳
対象:Excel2003, Excel2007, Excel2010 アクティブシートのテキストボックスをすべて削除するマクロをご紹介しました。 Sha...
For~Nextループを逆順に後ろから前に回す from インストラクターのネタ帳
VBA(Visual Basic for Applications)で、For~Nextループを逆順に(後ろから前に)回すには「For i = a to ...

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » アクティブシート上のテキストボックスをすべて削除するExcelマクロ

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

検索


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

.