Excelのシート上のテキストボックスをすべて削除する方法です。
Excel2007で確認しました。
通常の方法
- ホーム-編集-検索と選択-条件を選択してジャンプ-選択オプションダイアログを開く。(Ctrl+G、セル選択でも同じ)
- オブジェクトにチェックしてOKをクリック。
- テキストボックスがすべて選択されていることを確認。
- Deleteキーを押す。
これでテキストボックスがすべて削除されますが、テキストボックスだけでなく、その他の図形などもすべて削除されます。
マクロを使う方法
マクロを使う場合は次のようにします。
Sub shape_delete()
For Each myshape In ActiveSheet.Shapes
myshape.Delete
Next
End Sub
For Each myshape In ActiveSheet.Shapes
myshape.Delete
Next
End Sub
この場合、やはりテキストボックスだけでなく他の図形も削除されてしまいます。
テキストボックスだけ削除する場合は次のようにします。
「.Type = msoTextBox」として図形がテキストボックスである場合だけ処理するようにします。
Sub textbox_delete()
For Each myshape In ActiveSheet.Shapes
If myshape.Type = msoTextBox Then
myshape.Delete
End If
Next
End Sub
For Each myshape In ActiveSheet.Shapes
If myshape.Type = msoTextBox Then
myshape.Delete
End If
Next
End Sub
タイプを変えれば、例えば次のようにコメントだけを削除することもできます。
Sub comment_delete()
For Each myshape In ActiveSheet.Shapes
If myshape.Type = msoComment Then
myshape.Delete
End If
Next
End Sub
For Each myshape In ActiveSheet.Shapes
If myshape.Type = msoComment Then
myshape.Delete
End If
Next
End Sub
例えば、ボタンなどのフォーム以外を指定したければ「.Type <> msoFormControl」とします。
コメント