メインコンテンツへスキップ

他のテキストに基づいてセル内の特定のテキストを強調表示するにはどうすればよいですか?

著者:シャオヤン 最終更新日:2021年02月25日

Excelでは、特定のテキストに基づいてセルを強調表示するのは簡単かもしれませんが、ここでは、セル全体ではなく、セル内の特定のテキストを目立たせるために強調表示したいと思います。 これは私たちのほとんどにとっておそらく厄介です。 この記事では、Excelでこのジョブを解決するためのいくつかの秘訣について説明します。


VBAコードを使用して、複数のセル内のXNUMXつ以上の特定のテキストを強調表示します

たとえば、さまざまなテキスト文字列がありますが、今度は特定のテキストを強調表示したいと思います。次のスクリーンショットのように結果を取得するには、これらのセルに「」を入力します。

セル内のテキストの一部のみを強調表示するには、次のVBAコードが役立ちます。

1. 特定のテキストを強調表示するセルを選択し、 Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 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
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 ボタンをクリックすると、指定した単語が一度に強調表示されます。スクリーンショットを参照してください。

Note:上記のコードでは大文字と小文字が区別されます。


驚くべき機能を備えた複数のセル内のXNUMXつ以上の特定のテキストを強調表示する

Excelのコードに慣れていない場合は、ここで簡単なツールを紹介します- Kutools for Excelそのと キーワードをマーク 機能を使用すると、セル内の特定のXNUMXつ以上のキーワードを一度に強調表示できます。

注:これらを適用するには キーワードをマーク 機能、まず、ダウンロードする必要があります Kutools for Excel、次に機能をすばやく簡単に適用します。

インストールした後 Kutools for Excel、次のようにしてください。

1に設定します。 OK をクリックします。 クツール > テキスト > キーワードをマーク、スクリーンショットを参照してください:

2。 の中に キーワードをマーク ダイアログボックスで、次の操作を行ってください。

  • 使用するデータ範囲をから選択します レンジ テキストボックス;
  • 強調表示するキーワードが含まれているセルを選択します。キーワードを手動で(カンマで区切って)入力することもできます。 キーワード テキストボックス
  • 最後に、チェックしてテキストを強調表示するためのフォントの色を指定する必要があります キーワードの色をマークする オプション。 (キーワードを含むセル全体に色を付けるには、 セルの内容の色をマークする オプション)

3。 次に、をクリックします。 Ok ボタンをクリックすると、以下のスクリーンショットのように、指定されたすべてのテキストが強調表示されます。

Note:この機能では大文字と小文字は区別されません。大文字と小文字を区別してテキストを強調表示する場合は、チェックしてください。 マッチケース セクションに キーワードをマーク ダイアログボックス。


VBAコードを含む他のテキストに基づいて、セル内の特定のテキストを強調表示します

これは別の状況です。最初の列にテキスト文字列が含まれ、XNUMX番目の列が特定のテキストであるXNUMXつの列があります。次に、それぞれのXNUMX番目の列の特定のテキストに基づいて、最初の列の相対テキストを強調表示する必要があります。行。

1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

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


より相対的な記事:

  • ExcelでXNUMXつの列を連結する場合の太字の部分テキスト
  • Excelワークシートで、XNUMXつのセル値を数式と連結した後、結合された数式セルのテキストの一部が太字にならない場合があります。 これは時々煩わしいかもしれませんが、ExcelでXNUMXつの列を連結するときに、どのように部分テキストを太字にすることができますか?
  • セル列を連結し、Excelでテキストの色を維持する
  • ご存知のとおり、セルの列をXNUMXつの列に連結または結合すると、セルの書式設定(テキストのフォントの色、数値の書式設定など)が失われます。 この記事では、セルの列をXNUMXつに結合し、Excelでテキストの色をできるだけ簡単に保つためのいくつかの秘訣を紹介します。
  • 別の列の値に基づいて特定のテキストを表示する
  • 番号のリストがあるとすると、この列番号に基づいて別の列に特定のテキストを表示したいとします。 たとえば、セル番号が1〜100の場合、隣接するセルに「減少」というテキストを表示し、101〜200の場合、「安定」というテキストを表示し、200より大きい場合は「安定」というテキストを表示します。 、次のスクリーンショットのように「増加」というテキストが表示されます。 Excelでこのタスクを解決するには、この記事の次の数式が役立つ場合があります。
  • Excelでテキストと数値を含むセルを合計する
  • たとえば、数値とテキストの文字列を含む値のリストがありますが、同じテキストに基づいて数値のみを合計したいので、次のスクリーンショットを見てください。 通常、リスト内の値をテキスト文字列と直接合計することはできません。ここでは、このタスクを処理するためのいくつかの式を紹介します。

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリー (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (39)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thank you for "Highlight A Specific Text Within Multiple Cells With VBA Code" It works great. Would you please explain:
I need remove "Highlight"

so what can I do

thanks
This comment was minimized by the moderator on the site
Hello, Mukesh
If you want to delete the specific text from multiple cells, you can apply the Find & Replace feature in Excel.
You just need to enter the specific text that you want to delete into the Find textbox, and leave the Replace box blank, at last, click Replace All to get your results.
Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
This is amazing! One question: Is there any way that an Undo (CTRL+Z) can be used after running this?
This comment was minimized by the moderator on the site
Hello, ChristineW,The vba codes can't support Undo, so when applying the code, you'd better copy and paste the original data to another sheet first.If you use Kutools for Excel, the utility support Undo.
This comment was minimized by the moderator on the site
JUST WANT TO SLAY THANK YOU AS THE VBA FORMULA WORKS FOR ME... IT AWESOME.
This comment was minimized by the moderator on the site
Wow! Thank you!
This comment was minimized by the moderator on the site
Awesome. thanks
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations