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

如何在Excel的單元格中給某些單詞上色或突出顯示?

如果一個單元格包含多個單詞,如何僅在該單元格中突出顯示某個單詞? 以及如何在多個單元格中突出顯示該特定單詞? 本文將提供一種實現方法。

使用VBA代碼為單個單元格/多個單元格中的某些單詞著色


使用VBA代碼為單個單元格/多個單元格中的某些單詞著色

以下VBA代碼可以幫助您突出顯示所選內容中的特定單詞。 請執行以下操作。

1.選擇包含您要在其中突出顯示某些單詞的單元格的範圍。 然後按 其他 + F11 同時打開 Microsoft Visual Basic for Applications 窗口。

2.在開幕 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 模塊。 然後將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 鍵來運行代碼。 而在 Excel的Kutools 對話框中,請輸入您將在單元格中突出顯示的特定單詞,然後單擊 OK 按鈕。 看截圖:

然後,您可以立即在選定的單元格中看到指定的所有單詞都顯示為紅色,如下圖所示。


相關文章:


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (23)
5中的5評分 · 1評級
網站主持人對此評論進行了最小化
您沒有解釋如何打開上一步中提到的“Kutools for Excel 對話框”。
網站主持人對此評論進行了最小化
親愛的賈斯汀,
對於那個很抱歉。 將 VBA 代碼粘貼到代碼窗口後,請按 F5 鍵運行代碼,然後將打開“Kutools for Excel”對話框。 謝謝你。
網站主持人對此評論進行了最小化
有沒有辦法讓代碼在我編輯標籤時自動突出顯示單詞?
網站主持人對此評論進行了最小化
嗨,
抱歉幫不上忙。 謝謝你的評論。
網站主持人對此評論進行了最小化
謝謝,謝謝,謝謝
網站主持人對此評論進行了最小化
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-il possible de supprimer la boite de dialog et de mettre par défaut "apple" comme mot recherché ?
謝謝
網站主持人對此評論進行了最小化
你好 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。 Daca e la mijloc in aceeasi casuta de excel sau la sfarsit nu-l coloreaza。
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。 來 posso fare per non aggiungere singolarmente ogni dato senza aggiungerli tutti manualmente?

格雷茲·米勒
網站主持人對此評論進行了最小化
嗨Ciao,
您的號碼是否位於某個範圍內的不同單元格中? 如果是這樣,您可以創建兩個條件格式規則(介於 -10 和 0 之間、介於 0 和 10 之間)來突出顯示這些數字。 如果沒有,您可以上傳數據的屏幕截圖嗎?
網站主持人對此評論進行了最小化
太好了,謝謝! 我想知道是否有人知道如何讓它在 Mac 上工作? 非常感謝
5中的5評分
網站主持人對此評論進行了最小化
如何更改腳本以執行以下操作?

將字體增大 1 號,並且
一次運行腳本突出顯示多個單詞?

THX!
網站主持人對此評論進行了最小化
嗨 t.taln,

如果要將字體大小增加 1 並同時高亮顯示多個單詞,請在“”行後添加以下行xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3" 在 VBA 代碼中。
備註:需要事先知道選中單元格當前的字號,然後輸入比原字大一號的數字。 下面一行中的數字 12 是我將分配給匹配詞的字體大小。 而這個詞的原始字號是11。
xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.Size = 12
網站主持人對此評論進行了最小化
謝謝,這非常有用。 如何突出顯示單詞而不是字體顏色?

的問候。
網站主持人對此評論進行了最小化
謝謝你。 這真的很有幫助。 有人能告訴我如何給文本上色而不是突出顯示嗎?

問候
網站主持人對此評論進行了最小化
嗨 Shaik Faiaz hamad,

Excel 不允許為單元格的一部分著色。 很抱歉我不能幫你解決這個問題。
網站主持人對此評論進行了最小化
卓悅水晶,
謝謝你的代碼。 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
這裡還沒有評論

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護