セル内で文字列の一部だけ色を変える


セルに文字列が入力されています。この文字列の色を変えるのは簡単です。FontオブジェクトのColorIndexプロパティに色を数字で指定します。

Sub Sample01()
    Range("B2").Font.ColorIndex = 3
End Sub

では、文字列の一部分だけ色を変えるにはどうしたらいいでしょう。こんなときは、Rangeオブジェクト内のFontオブジェクト全体を操作するのではなく、Rangeオブジェクト内のCharactersオブジェクトを操作します。

Charactersオブジェクトは、セル内のデータを文字単位に扱えるオブジェクトです。例として、「Lakers」だけ赤色に設定してみましょう。

セルB2で「Lakers」は、先頭の「L]が7文字目です。そして「Lakers」は全部で6文字。したがって、7文字目から6文字分の色を設定します。

Sub Sample02()
    Range("B2").Characters(Start:=7, Length:=6).Font.ColorIndex = 3
End Sub