如何根据其他文本在单元格中高亮显示特定内容?
在 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 后,请按以下步骤操作:
1. 单击 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 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 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱



