関数だけでは難しいので、VBAでユーザー定義関数を作成することになると思います。
標準モジュールに下記のような関数を作成します。
Public Function SearchHighlight(フィールド, 検索文字列, 色 As String) As String
Dim s As String
s = フィールド
If s = "" Then Exit Function
If Nz(検索文字列, "") = "" Then
SearchHighlight = s
Exit Function
End If
Dim i
For Each i In Split(検索文字列)
s = Replace(Nz("<p>" & s & "</p>", ""), Chr(13), "</p><p>")
s = Replace(s, i, "<font style='background-color:" & 色 & ";'>" & i & "</font>")
Next
SearchHighlight = s
End Function
「感想リッチテキスト」のコントロールソースを下記のように設定します。
=SearchHighlight([感想],[検索文字列])
上記で一致した文字列の背景色は黄色になります。
もし、黄色以外にしたい場合は、第3引数に指定します。
例えば水色にしたい場合は下記になります。
=SearchHighlight([感想],[検索文字列],"#7FCCE3")
色は下記などを参照して # で始まる色コードで指定します。
通報 ...
ありがとうございます。
試してみましたが、ハイライトにはならず、検索した文字が繰り返しコピーされてしまいました。
検索文字列に”〇〇” スペース ”〇〇” という風にスペースを空けた文字にハイライトを付けたいのですが。。。