Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » 特定形状の図形からテキストを削除するExcelマクロ

特定形状の図形からテキストを削除するExcelマクロ

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

「vba 角丸四角形内のテキストを消す」
という検索キーワードに気づきました。

どのアプリケーションかはわかりませんがVBAを使って、(角丸四角形のように)指定した形状の図形だけから、テキスト・文字列を削除したいということでしょう。

[スポンサードリンク]

CharactersオブジェクトのTextプロパティを使ったサンプルマクロ

以下のSubプロシージャを実行すると、アクティブシート上の角丸四角形内のテキストが削除されます。


Sub 角丸四角形の文字列を削除する_Characters_Text()
 Dim shp As Shape

 For Each shp In ActiveSheet.Shapes
  If shp.AutoShapeType = msoShapeRoundedRectangle Then
   shp.TextFrame.Characters.Text = ""
  End If
 Next shp
End Sub

テキストボックス内の文字列を削除するExcelマクロをご紹介しています。

そのIf文、
  If shp.Type = msoTextBox Then
が、上記のプロシージャでは、
  If shp.AutoShapeType = msoShapeRoundedRectangle Then
になっている点だけが違います。

図形(オートシェイプ)の形状を判定するのには、ShapeオブジェクトのAutoShapeTypeプロパティを利用するということです。

TextRange2オブジェクトのTextプロパティを使ったサンプルマクロ

TextRange2オブジェクトのTextプロパティに空白文字列を設定する、以下のSubプロシージャでも、アクティブシート上の角丸四角形内のテキストを削除できます。


Sub 角丸四角形の文字列を削除する_TextRange2_Text()
 Dim shp As Shape

 For Each shp In ActiveSheet.Shapes
  If shp.AutoShapeType = msoShapeRoundedRectangle Then
   shp.TextFrame2.TextRange.Text = ""
  End If
 Next shp
End Sub

先のプロシージャで空白文字列を設定していた、
   shp.TextFrame.Characters.Text = ""
の部分が、Office 2007で登場したTextFrame2系のオブジェクトモデル、
   shp.TextFrame2.TextRange.Text = ""
になっている点だけが違います。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » 特定形状の図形からテキストを削除するExcelマクロ

TrackBack:1

TrackBack URL
特定形状の図形からテキストを削除するPowerPointマクロ from インストラクターのネタ帳
特定の形状の図形だけから、テキスト・文字列を削除するPowerPointマクロをご紹介しています。

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » 特定形状の図形からテキストを削除するExcelマクロ

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

検索


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

.