Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » Characters.Delete・TextFrame2.DeleteTextでテキストボックスの文字列を削除する


Characters.Delete・TextFrame2.DeleteTextでテキストボックスの文字列を削除する

対象:Excel 2010, Excel 2013, Windows版Excel 2016

「excel vba テキストボックス内 一括消去」
「エクセルvba テキストボックスを空にする」
といった検索キーワードをキッカケとして、CharactersオブジェクトのTextプロパティや、TextRange2オブジェクトのTextプロパティを使った、テキストボックス内文字列を削除するExcelマクロをご紹介しました。

[スポンサードリンク]

応用範囲の広い、Characers.Textプロパティ・TextRange2.Textプロパティに空白文字列を代入するコードをご紹介しましたが、テキストボックス内の文字列を削除するだけなら、メソッドを使う方法もあります。

Characters.Deleteメソッドでテキストボックス内文字列を削除するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブシート上のテキストボックスの文字列が削除されます。


Sub テキストボックスの文字列を削除する_Characters_Delete()
 Dim shp As Shape

 For Each shp In ActiveSheet.Shapes
  If shp.Type = msoTextBox Then
   shp.TextFrame.Characters.Delete
  End If
 Next shp
End Sub

ご紹介済みのマクロで、
   shp.TextFrame.Characters.Text = ""
とCharacters.Textプロパティに空白文字列を代入していた行が、
   shp.TextFrame.Characters.Delete
と、Characters.Deleteメソッドになっている点が違います。

Characters.Deleteメソッド

TextFrame2.DeleteTextメソッドでテキストボックス内文字列を削除するサンプルマクロ

以下のSubプロシージャでも、アクティブシート上のテキストボックスの文字列が削除されます。


Sub テキストボックスの文字列を削除する_TextFrame2_DeleteText()
 Dim shp As Shape

 For Each shp In ActiveSheet.Shapes
  If shp.Type = msoTextBox Then
   shp.TextFrame2.DeleteText
  End If
 Next shp
End Sub

ご紹介済みのマクロで、
   shp.TextFrame2.TextRange.Text = ""
とTextRange2.Textプロパティに空白文字列を代入していた行が、
   shp.TextFrame2.DeleteText
と、TextFrame2.DeleteTextメソッドになっている点が違います。

TextFrame2.Deleteメソッド

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » Characters.Delete・TextFrame2.DeleteTextでテキストボックスの文字列を削除する

TrackBack:0

TrackBack URL

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » Characters.Delete・TextFrame2.DeleteTextでテキストボックスの文字列を削除する

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

検索


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

.