Note: The other languages of the website are Google-translated. Back to English

Excelのセル内の特定の単語に色を付けたり強調表示したりするにはどうすればよいですか?

セルに複数の単語が含まれている場合、このセルでのみ特定の単語を強調表示するにはどうすればよいですか? そして、この特定の単語を複数のセルで強調表示するのはどうですか? この記事では、それを実現する方法を説明します。

VBAコードを使用して単一セル/複数セルの特定の単語に色を付ける


VBAコードを使用して単一セル/複数セルの特定の単語に色を付ける

次のVBAコードは、選択範囲内の特定の単語を強調表示するのに役立ちます。 次のようにしてください。

1.特定の単語を強調表示するセルを含む範囲を選択します。 次にを押します 他の + F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。

2.オープニングで アプリケーション向け Microsoft Visual Basic ウィンドウ、クリック インセット > モジュール。 次に、VBAコードをコピーして[コード]ウィンドウに貼り付けます。

VBAコード:Excelのセル内の特定の単語に色を付ける

Sub HighlightStrings()
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Application.ScreenUpdating = True
End Sub

3。 プレス F5 コードを実行するためのキー。 そして、 Kutools for Excel ダイアログボックスで、セルに強調表示する特定の単語を入力して、[ OK ボタン。 スクリーンショットを参照してください:

次に、下のスクリーンショットに示すように、選択したセルで指定したすべての単語が赤で表示されていることがわかります。


関連記事:


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

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (23)
5の5を評価 · 1の評価
このコメントは、サイトのモデレーターによって最小化されました
最後のステップで参照した「KutoolsforExcelダイアログボックス」を開く方法を説明していません。
このコメントは、サイトのモデレーターによって最小化されました
親愛なるジャスティン、
申し訳ありません。 VBAコードをコードウィンドウに貼り付けた後、F5キーを押してコードを実行すると、[KutoolsforExcel]ダイアログボックスが開きます。 ありがとうございました。
このコメントは、サイトのモデレーターによって最小化されました
タブを編集するときにコードが単語を自動的に強調表示するようにする方法はありますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、
申し訳ありませんがこれを助けることはできません。 ご意見ありがとうございます。
このコメントは、サイトのモデレーターによって最小化されました
ありがとう、ありがとう、ありがとう
このコメントは、サイトのモデレーターによって最小化されました
Quisisera resaltar varias palabras al tiempo、como lo puedo hacer?
このコメントは、サイトのモデレーターによって最小化されました
Eso es lo que estoy tratando de hacer tamiben(それは私もやろうとしていることです)
このコメントは、サイトのモデレーターによって最小化されました
検索/ハイライトで大文字と小文字を区別しない場合は、行'xArr = Split(xCell.Value、xHStr)'を'xArr = Split(LCase(xCell.Value)、LCase(xHStr))'に変更します。 また、F5キーを押してもスクリプトは実行されません(代わりに別のモーダルウィンドウが表示されます)。 Excelオプション(リボンのカスタマイズ)を使用して[開発者]タブを有効にし、続いて[マクロ]をクリックしてアクセスしました。
このコメントは、サイトのモデレーターによって最小化されました
ありがとう...これはとても役に立ちました! 部分的ではなく単語全体のみを強調表示するようにマクロを調整する方法はありますか? たとえば、「デザイン」という言葉を強調しようとしていますが、「指定する」という言葉の中の「デザイン」を強調しています。 単語全体ではない場合は、その単語をスキップしてほしい。 ありがとう!
このコメントは、サイトのモデレーターによって最小化されました
ボンジュール、
Est-ilpossible de supprimer la boite de dialog etdemettrepardéfaut"apple"commemotrecherché?
ありがとう
このコメントは、サイトのモデレーターによって最小化されました
こんにちはPAUC、
次のコードはあなたに有利に働くことができます。 ぜひお試しください。
Sub HighlightStrings()
'Updated by Extendoffice 20220721
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = "apple"
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Application.ScreenUpdating = True
End Sub
このコメントは、サイトのモデレーターによって最小化されました
良いです

Coloreaza cuvantul doar daca e la inceput. aceeasi casuta de excel sau la sfarsit nu-l coloreaza の Daca e la mijloc。
Ce anume as putea schimba in cod pentru al colora indiferent unde se afla in casuta excel?

ありがとうございます!
このコメントは、サイトのモデレーターによって最小化されました
こんにちはアンドレア、
選択したセルの先頭にある単語のみを強調表示する場合。 次の VBA コードは便利です。 ぜひお試しください。
Sub HighlightStrings()
'Updated by Extendoffice 20220805
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            If xHStrLen <= Len(xCell.Value) Then
                If xHStr = Left(xCell.Value, xHStrLen) Then
                    xCell.Characters(1, xHStrLen).Font.ColorIndex = 3
                End If
            End If
        Next
    Application.ScreenUpdating = True
End Sub
このコメントは、サイトのモデレーターによって最小化されました
チャオ、
a me servirebbe evidenziare tutti i numeri (comprensivi di due decimali) da -10,00 a 0 in rosso e da 0 a +10,00 in verde. com so posso fare per non aggiungere singolarmente ogni dato senza aggiungerli tutti manualmente?

グラツィエミルフィーユ
このコメントは、サイトのモデレーターによって最小化されました
チャオさん、こんにちは。
あなたの数字は範囲内の異なるセルにありますか? その場合、10 つの条件付き書式ルール (-0 から 0 の間、10 から XNUMX の間) を作成して、これらの数値を強調表示できます。 そうでない場合は、データのスクリーンショットをアップロードできますか?
このコメントは、サイトのモデレーターによって最小化されました
とてもいいですね、thx! Macで動作させる方法を誰かが知っているかどうか疑問に思っていますか? どうもありがとう
5の5を評価
このコメントは、サイトのモデレーターによって最小化されました
次のようにスクリプトを変更するにはどうすればよいですか?

フォントを 1 サイズ大きくし、
スクリプトの XNUMX 回の実行で複数の単語を強調表示しますか?

THX!
このコメントは、サイトのモデレーターによって最小化されました
t.taln さん、こんにちは。

フォント サイズを 1 ずつ大きくして複数の単語を同時に強調表示する場合は、" 行の後に次の行を追加してください。xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3" を VBA コードに記述します。
注意: 選択したセルの現在のフォント サイズを事前に把握し、元の単語よりも 12 大きいサイズを入力する必要があります。 下の行の数字 11 は、一致する単語に割り当てるフォント サイズです。 また、単語の元のフォント サイズは XNUMX です。
xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.Size = 12
このコメントは、サイトのモデレーターによって最小化されました
とても便利です。 フォントの色の代わりに単語を強調表示するにはどうすればよいですか?

よろしく。
このコメントは、サイトのモデレーターによって最小化されました
ありがとうございました。 それは本当に役に立ちました。 テキストを強調表示する代わりに色を付ける方法を誰か教えてください。

よろしく
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、シェイク・ファイアズ・ハマドです。

Excel では、セルの一部に色を付けることができません。 この問題についてお力になれず申し訳ありません。
このコメントは、サイトのモデレーターによって最小化されました
ボンジュールクリスタル、
Merci pour ce code. Est-il possible de l'adapter pour mettre en évidence plusieurs mots "Apple,Rose,Vert,Merci"
ありがとう
このコメントは、サイトのモデレーターによって最小化されました
こんにちは。

次の VBA コードが役に立ちます。 コードを実行すると、ダイアログ ボックスが表示されます。 ハイライトしたい単語をカンマで区切って入力してください。
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/highlight.png
Sub HighlightStrings()
'Updated by Extendoffice 20230130
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    Dim xArr2
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
    
    xArr2 = Split(xHStr, ",")
    For j = 0 To UBound(xArr2)
        xHStr = xArr2(j)
    
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Next
    
    Application.ScreenUpdating = True
End Sub
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護