他のテキストを基にセル内の特定のテキストをハイライトするにはどうすればよいですか?
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 をインストールした後、Kutools for Excel 以下の手順に従ってください:
1。.Kutools>テキスト>キーワードのマーキングをクリックします(スクリーンショット参照)。

2。.キーワードのマーキングダイアログボックスで、以下の操作を行ってください:
- 範囲テキストボックスから、使用するデータ範囲を選択してください。
- ハイライトしたいキーワードを含むセルを選択するか、キーワードテキストボックスにカンマ区切りで手動入力することもできます。
- 最後に、テキストをハイライトするには、キーワードのフォント色オプションでフォント色を指定してください。(キーワードを含むセル全体を色付けしたい場合は、)セルの内容の色オプションをお選びください。)

3。.その後、OKボタンをクリックすると、指定したすべてのテキストが以下のスクリーンショットのようにハイライトされます:

注:この機能は大文字と小文字を区別しません。大文字と小文字を区別してテキストをハイライトしたい場合は、大文字と小文字を区別キーワードのマーキングダイアログボックスで「大文字と小文字を区別」を有効にしてください。
他のテキストに基づいてセル内の特定のテキストを VBA コードでハイライトする
もう1 つのケースとして、最初の列にテキスト文字列が含まれ、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 の範囲なら隣接セルに「Decrease」、101~200 の範囲なら「Stable」、200 より大きければ「Increase」と表示したいとします(下記スクリーンショット参照)。このようなタスクをExcel で実現するには、本記事で紹介する以下の数式が役立ちます。
- Excel でテキストと数字で分割を含むセルを合計する
- 例えば、数値と文字列が混在した値のリストがあり、同じテキストに基づいて数値のみを合計したい場合があります(下記スクリーンショット参照)。通常、テキスト文字列を含むリストの値を直接合計することはできません。ここでは、このタスクを効率的に処理するための便利な数式をいくつかご紹介します。
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得



