KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何根据其他文本在单元格中高亮显示特定内容?

作者Xiaoyang修改日期

在 Excel 中,根据特定文本突出显示整个单元格对我们来说或许轻而易举,但若想仅突出显示单元格内的特定文本以使其醒目,而非高亮整个单元格,这对大多数人而言可能颇具挑战。本文将为您介绍一些实用技巧,助您轻松实现这一目标。


使用 VBA 代码在多个单元格中突出显示一个或多个特定文本

例如,我有一组文本字符串,现在我希望在这些单元格中突出显示特定文本“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. 然后单击确定按钮,您指定的所有文本都已在单元格中被突出显示,请参见截图:

原始数据向右箭头您指定的所有文本均已被高亮
提示:如果您需要从文本字符串中突出显示多个关键词,请使用以下代码:
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

然后,在弹出的对话框中输入您要突出显示的关键词(用逗号分隔关键词),请参见截图:
输入要高亮的关键词

然后单击确定按钮,指定的词将立即被突出显示,请参见截图:

原始数据向右箭头指定的词语已被高亮

注意:上述代码区分大小写。


使用一项强大功能在多个单元格中突出显示一个或多个特定文本

如果您不熟悉 Excel 中的代码,这里为您推荐一款简单易用的工具——Kutools for Excel,借助其关键字标记功能,即可在单元格内一次性突出显示一个或多个指定关键词。

Kutools for Excel 提供 300 多项高级功能,简化复杂任务,提升创造力与效率。集成 AI 能力,Kutools 精准自动化任务,让数据管理变得轻松自如。Kutools for Excel 的详细信息……         免费试用……

安装 Kutools for Excel 后,请按以下步骤操作:

1. 单击 Kutools > 文本 > 关键字标记,请参见截图:

点击 Kutools 的标记关键词功能

2. 关键字标记对话框中,请执行以下操作:

  • 范围文本框中选择您要使用的数据区域;
  • 选择包含您要突出显示关键词的单元格,也可以手动将关键词(用逗号分隔)输入到关键词文本框中
  • 最后,请勾选标记关键字颜色选项,以指定用于突出显示文本的字体颜色。(若要为包含关键词的整个单元格着色,请选择)标记单元格内容颜色选项。)

在对话框中设置选项

3. 然后单击确定按钮,所有指定文本将如以下截图所示被突出显示:

所有指定的文本均已被高亮

注意:此功能不区分大小写。如需启用区分大小写的文本高亮,请在关键字标记对话框中勾选区分大小写选项。


使用 VBA 代码根据其他文本在单元格内突出显示特定文本

以下是另一种情况:我有两列数据,第一列为文本字符串,第二列为特定文本。现在,我需要根据每行第二列中的特定文本,在第一列中突出显示对应的文本内容。

根据其他文本高亮单元格内的特定文本

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. 然后单击确定按钮,第一列中所有与第二列特定文本对应的文本均已按如下截图所示标为红色:

基于第二列中的特定文本,第一列中所有对应的文本均被标记为红色


更多相关文章:

  • 在 Excel 中合并两列时对部分文本加粗
  • 在 Excel 工作表中,使用公式合并两个单元格的值后,您可能会发现无法对合并结果中的部分文本加粗,这确实令人困扰。那么,在 Excel 中合并两列时,该如何对部分文本加粗呢?
  • 在 Excel 中合并单元格列并保留文本颜色
  • 众所周知,将多列单元格合并为一列时,原有的单元格格式(如字体颜色、数字格式等)通常会丢失。本文将为您介绍一些实用技巧,助您在 Excel 中更轻松地合并单元格列,同时尽可能保留文本颜色。
  • 在另一列中显示特定文本基于值
  • 假设您有一组数字,希望根据该列中的数值在相邻列中显示特定文本:例如,当单元格中的数字介于 1 到 100 之间时,显示“Decrease”;介于 101 到 200 之间时,显示“Stable”;大于 200 时,则显示“Increase”,如下图所示。要在 Excel 中实现这一效果,本文提供的以下公式将为您提供帮助。
  • 在 Excel 中对包含拆分为文本和数字的单元格求和
  • 例如,我有一个包含数字和文本字符串的混合列表,现在希望仅根据相同的文本对对应的数字求和,请参见下图。通常,您无法直接对包含文本字符串的列表中的数值求和,本文将为您介绍几种实用公式,轻松应对这一任务。

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……


Office Tab 为 Office 带来标签式界面,让您的工作更轻松

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱