「excel vba テキストボックス内 一括消去」
「エクセルvba テキストボックスを空にする」
といった検索キーワードをキッカケとして、CharactersオブジェクトのTextプロパティや、TextRange2オブジェクトのTextプロパティを使った、テキストボックス内文字列を削除するExcelマクロをご紹介しました。
応用範囲の広い、Characers.Textプロパティ・TextRange2.Textプロパティに空白文字列を代入するコードをご紹介しましたが、テキストボックス内の文字列を削除するだけなら、メソッドを使う方法もあります。
Characters.Deleteでテキストボックス内文字列を削除するサンプル
以下のSubプロシージャを実行すると、アクティブシート上のテキストボックスの文字列が削除されます。
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.Type = msoTextBox Then
shp.TextFrame.Characters.Delete
End If
Next
End Sub
ご紹介済みのマクロで、
shp.TextFrame.Characters.Text = ""
とCharacters.Textプロパティに空白文字列を代入していた行が、
shp.TextFrame.Characters.Delete
と、Characters.Deleteメソッドになっている点が違います。
TextFrame2.DeleteTextでテキストボックス内文字列を削除するサンプル
以下のSubプロシージャでも、アクティブシート上のテキストボックスの文字列が削除されます。
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.Type = msoTextBox Then
shp.TextFrame2.DeleteText
End If
Next
End Sub
ご紹介済みのマクロで、
shp.TextFrame2.TextRange.Text = ""
とTextRange2.Textプロパティに空白文字列を代入していた行が、
shp.TextFrame2.DeleteText
と、TextFrame2.DeleteTextメソッドになっている点が違います。
最終更新日時:2022-08-04 15:50
Home » エクセルマクロ・Excel VBAの使い方 » 図形内文字列 » Characters.DeleteやTextFrame2.DeleteTextでテキストボックスの文字列を削除する