他のテキストに基づいてセル内の特定のテキストをハイライトするにはどうすればよいですか?
Excelでは、特定のテキストに基づいてセルをハイライトするのは簡単かもしれませんが、ここではセル全体ではなく、セル内の特定のテキストをハイライトして目立たせたいと思います。これが私たちの多くにとってやっかいな問題かもしれません。この記事では、Excelでこの作業を解決するためのいくつかのコツについて説明します。

VBAコードを使用して複数のセル内の1つまたは複数の特定のテキストをハイライトする
例えば、私は一連の文字列を持っており、これらのセル内で「Sky」という特定のテキストをハイライトして、次のスクリーンショットに示す結果を得たいとします:
![]() | ![]() | ![]() |
セル内のテキストの一部のみをハイライトするには、次のVBAコードが役立ちます。
1. 特定のテキストをハイライトしたいセルを選択し、 ALT + F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。
2. 「挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。
VBAコード: セル内のテキストの一部をハイライトする:
Sub HighlightStrings()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim Rng As Range
Dim cFnd As String
Dim xTmp As String
Dim x As Long
Dim m As Long
Dim y As Long
cFnd = InputBox("Enter the text string to highlight")
y = Len(cFnd)
For Each Rng In Selection
With Rng
m = UBound(Split(Rng.Value, cFnd))
If m > 0 Then
xTmp = ""
For x = 0 To m - 1
xTmp = xTmp & Split(Rng.Value, cFnd)(x)
.Characters(Start:=Len(xTmp) + 1, Length:=y).Font.ColorIndex = 3
xTmp = xTmp & cFnd
Next
End If
End With
Next Rng
Application.ScreenUpdating = True
End Sub
3. そして F5キーを押してこのコードを実行すると、ハイライトしたいテキストを入力するように促すボックスが表示されます。スクリーンショットをご覧ください:
4. 「OK」ボタンをクリックすると、指定したすべてのテキストがセル内でのみハイライトされます。スクリーンショットをご覧ください:
![]() | ![]() | ![]() |
VBAコード: テキスト文字列から複数のキーワードをハイライトする:
Sub HighlightStrings()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim Rng As Range
Dim cFnd As String
Dim xTmp As String
Dim x As Long
Dim m As Long
Dim y As Long
Dim xFNum As Integer
Dim xArrFnd As Variant
Dim xStr As String
cFnd = InputBox("Please enter the text, separate them by comma:")
If Len(cFnd) < 1 Then Exit Sub
xArrFnd = Split(cFnd, ",")
For Each Rng In Selection
With Rng
For xFNum = 0 To UBound(xArrFnd)
xStr = xArrFnd(xFNum)
y = Len(xStr)
m = UBound(Split(Rng.Value, xStr))
If m > 0 Then
xTmp = ""
For x = 0 To m - 1
xTmp = xTmp & Split(Rng.Value, xStr)(x)
.Characters(Start:=Len(xTmp) + 1, Length:=y).Font.ColorIndex = 3
xTmp = xTmp & xStr
Next
End If
Next xFNum
End With
Next Rng
Application.ScreenUpdating = True
End Sub
次に、表示されたボックスにハイライトしたいキーワードを入力してください(カンマで区切る)。スクリーンショットをご覧ください:
そして、「OK」ボタンをクリックすると、指定した単語が一度にハイライトされます。スクリーンショットをご覧ください:
![]() | ![]() | ![]() |
注: 上記のコードは大文字と小文字を区別します。
驚くべき機能を使用して複数のセル内の1つまたは複数の特定のテキストをハイライトする
Excelのコードに詳しくない場合、ここで簡単なツールであるKutools for Excelをご紹介します。その「キーワードのマーキング」機能を使用すると、一度にセル内の特定の1つまたは複数のキーワードを簡単にハイライトできます。
Kutools for Excelをインストール後、次の手順を行ってください:
1. 「Kutools」>「テキスト」>「キーワードのマーキング」をクリックします。スクリーンショットをご覧ください:
2. 「キーワードのマーキング」ダイアログボックスで、次の操作を行ってください:
- 使用したいデータ範囲を「範囲」テキストボックスから選択します;
- ハイライトしたいキーワードを含むセルを選択するか、キーワードを手動で入力します(カンマで区切る)。キーワードテキストボックスに入力してください。
- 最後に、「キーワードのフォント色」オプションをチェックして、テキストをハイライトするフォント色を指定します。(キーワードを含むセル全体を色付けするには、「セルの内容の色」オプションを選択します)
3. そして、「OK」ボタンをクリックすると、指定したすべてのテキストが以下のようにハイライトされます。スクリーンショットをご覧ください:
注: この機能は大文字と小文字を区別しません。大文字と小文字を区別してテキストをハイライトしたい場合は、「キーワードのマーキング」ダイアログボックスで「大文字と小文字を区別」をチェックしてください。
VBAコードを使用して他のテキストに基づいてセル内の特定のテキストをハイライトする
別の状況として、最初の列に文字列があり、2番目の列に特定のテキストがある場合を考えます。ここで、各行の2番目の列にある特定のテキストに基づいて最初の列の関連するテキストをハイライトしたいと思います。
1. ALT + F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。
2. 「 挿入」>「モジュール」をクリックし、次のコードをモジュールウィンドウに貼り付けます。
VBAコード: 他のテキストに基づいてセル内のテキストの一部をハイライトする:
Sub highlight()
'Updateby Extendoffice
Dim xStr As String
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xChar As String
Dim I As Long
Dim J As Long
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
LInput:
Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Areas.Count > 1 Then
MsgBox "not support multiple columns"
GoTo LInput
End If
If xRg.Columns.Count <> 2 Then
MsgBox "the selected range can only contain two columns "
GoTo LInput
End If
For I = 0 To xRg.Rows.Count - 1
xStr = xRg.Range("B1").Offset(I, 0).Value
With xRg.Range("A1").Offset(I, 0)
.Font.ColorIndex = 1
For J = 1 To Len(.Text)
If Mid(.Text, J, Len(xStr)) = xStr Then .Characters(J, Len(xStr)).Font.ColorIndex = 3
Next
End With
Next I
End Sub
3. コードを貼り付けたら、 F5キーを押して実行します。プロンプトボックスが表示され、ハイライトおよび基準となるテキスト文字列と特定のテキストを含むデータ範囲を選択するよう促されます。スクリーンショットをご覧ください:
4. 「 OK」ボタンをクリックすると、2番目の列の特定のテキストに基づいて最初の列の対応するすべてのテキストが赤色で表示されます。次のスクリーンショットをご覧ください:
関連記事:
- Excelで2つの列を連結する際に部分的な太字にする方法
- Excelワークシートでは、2つのセル値を数式で連結した後、結合された数式セル内のテキストの一部を太字にできないことがわかります。これは時々煩わしいことかもしれません。Excelで2つの列を連結する際に部分的に太字にするにはどうすればよいでしょうか?
- Excelでセル列を連結してテキストの色を保持する
- 皆さんがご存知の通り、セル列を1つの列に連結または結合すると、セルの書式設定(テキストのフォント色、数値書式など)が失われます。この記事では、Excelでできるだけ簡単にテキストの色を保持しながらセル列を1つに結合するためのいくつかのコツを紹介します。
- 別の列の値に基づいて特定のテキストを表示する
- 例えば、数字のリストがあり、その数字に基づいて別の列に特定のテキストを表示したいとします。例えば、セルの数字が1〜100の場合、「減少」というテキストを隣接するセルに表示し、数字が101〜200の場合、「安定」というテキストを表示し、数字が200より大きい場合、「増加」というテキストを表示します。次のスクリーンショットに示すように、Excelでこのタスクを解決するには、この記事の以下の数式が役立つかもしれません。
- Excelでテキストと数字を含むセルを合計する
- 例えば、数値とテキストの両方を含む値のリストがあり、同じテキストに基づいて数字のみを合計したいとします。次のスクリーンショットをご覧ください。通常、リスト内のテキスト文字列を直接合計することはできません。ここでは、このタスクに対処するためのいくつかの数式を紹介します。
最高のオフィス生産性ツール
🤖 | Kutools AI Aide:データ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析してグラフを生成 | Kutools Functions を呼び出す… |
人気機能:重複の検索・ハイライト・マーキング | 空白行を削除 | データを失わず列やセルを統合 | 丸める ... | |
スーパーLOOKUP:複数条件VLOOKUP | 複数値VLOOKUP | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト:すばやくドロップダウンリストを作成 | 依存型ドロップダウンリスト | 複数選択ドロップダウンリスト .... | |
列の管理:特定数の列を追加 | 列を移動 | 非表示列の表示状態を切り替え | 範囲と列の比較 ... | |
注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック&ワークシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リスト送信で電子メールを送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線でフィルタ...) | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など) | 50 種以上のグラフ タイプ(ガントチャートなど) | 40を超える実用的な 数式(誕生日に基づいて年齢を計算する、など) | 19種の 挿入ツール(QRコードの挿入、パスから画像の挿入など) | 12種類の 変換ツール(単語に変換する、通貨変換など) | 7つの 結合&分割ツール(高度な行のマージ、セルの分割など) | ...さらに多数 |
Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...
Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます
- Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
- 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
- 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!