|
さっそく回答いただきありがとうございます。
InStrを使う手があったのですね。
勉強になりました!
一度に複数のセルを対象に置換すること、
対象文字列は2文字とは限らないこと、
セル内に複数の対象文字列が含まれることを
考慮し、以下のようにして解決しました。
ありがとうございました!
前:昨日は晴れでした。今日も晴れです。
後:昨日は雨でした。今日も雨です。
Sub Replace()
Dim checkStr As String
Dim replaceStr As String
Dim strPos As Integer
checkStr = "晴れ"
replaceStr = "雨"
For i = 1 To Selection.Cells.Count
strPos = 1
Do While strPos <> 0
strPos = InStr(1, Selection.Cells(i).Characters.Text, _
checkStr)
If strPos > 0 Then
With Selection.Cells(i)
.Characters(strPos, Len(checkStr)).Text = replaceStr
End With
End If
Loop
Next
End Sub
|
|