この記事では、Excel のセル中に指定した文字だけを強調表示する方法を紹介します。
なにかの調査で一覧データを Excel に貼ることは多いと思います。
このとき、特定のキーワードだけに色をつけるなりしてチェック箇所を分かりやすくしたいと思うことが多いのですが、標準機能では出来ませんでした(条件付き書式などを利用するとできそうですが、セル全体に効いてしまうため期待した動作をさせることが出来ません)。
やるにはマクロになります。が、とても簡単です。
以下は、選択範囲に対して A1 に指定した文字列を強調表示(赤字 & 太字)するサンプルです。
Sub HighlightText()
Dim cell As Range, pos As Integer, searchText As String
searchText = Range("A1").Value
# 以下のようにすると実行毎にすきな文字列を強調表示できる
# Dim searchValue As String
# searchValue = InputBox("Highlight which value?")
# If searchValue = "" Then Exit Sub ' キャンセルボタンが押された場合
For Each cell In Selection.Cells
pos = InStr(cell.Value, searchText)
If pos > 0 Then
With cell.Characters(Start:=pos, Length:=Len(searchText)).Font
.Color = RGB(255, 0, 0)
.Bold = True
End With
End If
Next
End Sub
例えば以下のようなデータがあった場合に、
以下のように、対象(今回はB列)を選択してメニューからマクロを選んで、上で作った関数を実行します。
すると、A1 で指定した文字だけ(今回は Todo)が強調表示できました。
A1 を State
にすると State
が強調表示されます。便利!