他のテキストに基づいてセル内の特定のテキストをハイライトするにはどうすればよいですか?
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:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得