やりたいこと
Excelってセル内は置換/検索できるけど、図形内の文字は置換/検索できない。そこで、図形内の文字を置換するマクロを作成した。
コード
下記のコードを、標準モジュールにコピペすれば使えます。
Module1
Option Explicit
Public Function RepText(ByRef findStr As String, ByRef repStr As String)
Dim sh As Shape
For Each sh In ActiveSheet.Shapes
If sh.TextFrame2.HasText = msoTrue Then
sh.TextFrame2.TextRange.Text = Replace(sh.TextFrame2.TextRange.Text, findStr, repStr)
End If
Next
End Function
使い方
Excelシートから使う場合だと、下記のようにセルに記入して、エンターを押せば、「りんご」と「みかん」というテキストが置換されます。
戻り値について
この関数は戻り値がないので、成功すると0が表示されるようです。マクロ実行後は消してもよいです。