VBA로 도형의 문자 바꾸기

도형(자동 모양)의 텍스트를 대체하는 매크로입니다.
검색할 문자열을 B1 셀에 입력하고 대체된 문자열을 B2 셀에 입력한 다음 매크로를 실행하면 도형의 문자열이 변환됩니다.




'Option Explicitステートメントは、モジュールの中で使用すると
'そのモジュールでは変数を宣言しないとマクロが動かなくなる。
'Option Explicitを使うことで、変数入力ミス時にどこの変数が入力ミスしているか黄色ハイライトで教えてくれる
Option Explicit

Sub TextReplacementForShapes()

 Dim TargetWorkSheet As Worksheet '置換対象のシート
 Dim TargetShape As Shape '置換対象の図形
 Dim TargetText As String '置換対象のテキスト

 Dim SearchText As String '検索するテキスト
 SearchText = Range("B1")

 Dim ReplaceText As String '置換後のテキスト
 ReplaceText = Range("B2")

 Set TargetWorkSheet = Application.ActiveSheet 'アクティブシートを置換対象シートの変数に格納

 '図形のテキストを置換
 'For Eachでブック内の全てのオブジェクトを対象に処理する
 'For Each構文
 ' For Each オブジェクト変数 In オブジェクト
 ' 繰り返し処理
 ' Next オブジェクト変数

 For Each TargetShape In TargetWorkSheet.Shapes
  If TargetShape.TextFrame2.HasText Then 'テキストがある場合、以下の処理を実行
   TargetText = TargetShape.TextFrame.Characters.Text
   TargetShape.TextFrame.Characters.Text = Replace(TargetText, SearchText, ReplaceText) 'Replace(置換対象の文字列, 検索する文字列, 置換後の文字列)
  End If
 Next TargetShape

 Set TargetWorkSheet = Nothing

End Sub

좋은 웹페이지 즐겨찾기