KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

他のテキストを基にセル内の特定のテキストをハイライトするにはどうすればよいですか?

著者Xiaoyang変更日

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は300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

Kutools for Excel をインストールした後、Kutools for Excel 以下の手順に従ってください:

1。Kutoolsテキストキーワードのマーキングをクリックします(スクリーンショット参照)。

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 番目の列の特定のテキストに基づいて、最初の列の対応するすべてのテキストが、以下のスクリーンショットのように赤色で表示されます。

2列目の特定のテキストに基づいて、1列目の対応するテキストがすべて赤色に表示されます


関連記事をさらに表示:

  • 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 はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

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 アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得