
特定の文字を太字にする InStr関数で探す
マクロ講座の83回に登場した「InStr関数」を使って特定の語句を探して太字にする、
またフォントを赤色にするというサンプルを紹介します。
InStr関数は、文字列の中から指定した文字列を検索し、
最初に見つかった文字位置を返す
文字列処理関数です。
(サンプルファイルは、こちらから マクロ84回サンプルデータ)


Public Sub タヌキの位置()
Dim 位置 As Long
位置 = InStr(1, Cells(2, 2), "タヌキ", vbTextCompare)
Cells(2, 3) = 位置
End Sub

Public Sub 手順2タヌキを太字()
Dim 位置 As Long
位置 = InStr(1, Cells(2, 2), "タヌキ", vbTextCompare)
With Cells(2, 2).Characters(位置, Len("タヌキ")).Font
.Bold = True
.ColorIndex = 3
End With
End Sub


Sub macro84_instr()
Dim myword
Dim i As Long, n As Long, 位置 As Long
myword = "タヌキ"
For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row
位置 = InStr(1, Cells(i, "B"), myword, vbTextCompare)
If 位置 > 0 Then
With Cells(i, "B").Characters(位置, Len(myword)).Font
.Bold = True
.ColorIndex = 3
End With
End If
Next i
End Sub
