EXCEL如何从多个单元格内查找某个词并标记成不同颜色(单元格内有很多文字,有些是重复的)

注意,标记的是文字而不是包含此文字的单元格

原来你不会VBA,那我教你用吧,按ALT+F11打开vba编辑器,插入模块,把下面的代码贴上,保存退出,然后在EXCEL中添加一个按钮,右键单击按钮——指定宏,指定“标记查找文字”宏,然后单击按钮就可以运行程序了
Sub 标记查找文字()
Dim CaZhao As String
Dim i, j, l, k As Long
Dim p As String
Dim kk()
Application.ScreenUpdating = False
CaZhao = Application.InputBox("请输入要查找的文字", "标记查找文字")
k = Len(CaZhao)
For i = 1 To Cells.Find("*", , , , 1, 2).Row
For j = 1 To Cells.Find("*", , , , 2, 2).Column
p = Cells(i, j).Value
If p <> "" Then
Cells(i, j).Select
With ActiveCell.Characters.Font
.FontStyle = False
.ColorIndex = 1
.Underline = False
End With
If InStr(Cells(i, j).Value, CaZhao) <> 0 Then
n = 0
Do
l = InStrRev(p, CaZhao)
If l = 0 Then Exit Do
ReDim Preserve kk(n)
kk(n) = l
n = n + 1
p = Left(p, l - 1)
Loop While l <> 0
For s = LBound(kk) To UBound(kk)
With ActiveCell.Characters(Start:=kk(s), Length:=k).Font
.FontStyle = "加粗 倾斜"
.ColorIndex = 3
.Underline = xlUnderlineStyleSingle
End With
Next
End If
End If
Next
Next
Application.ScreenUpdating = True
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-24

试试条件格式

示例:当指定区域内有数值等于H1单元格的值时标记为红色

追问

那是整个单元格的颜色都标记出来了,我需要的是单元格中的某个词标记出来

追答

这个可能要用VBA实现了 等高人解答~

追问

哦,谢谢

第2个回答  2012-05-24
‘VBA高人来也,使用如下自定义函数:
‘测试过了,完全好用!

Sub test()
Dim cc As Range
Dim MyshName As String
Dim MyRng As String
Dim MySearch As String

MyshName = "Sheet1"
'定义要应用的表名
MyRng = "A1:A100"
'定义要应用的单元格区域
MySearch = "ang"
'定义要查找的关键字

For Each cc In ThisWorkbook.Worksheets(MyshName).Range(MyRng)
If InStr(1, cc.Value, MySearch) Then
cc.Characters(Start:=InStr(1, cc.Value, MySearch), Length:=Len(MySearch)).Font.ColorIndex = 3
End If
Next

End Sub追问

如何自定义函数呀?

追答

1.在excel里安Alt+F11
2.插入模块
3.可以在
Private Sub Workbook_Open()

End Sub
里面放入此函数.

追问

我插入了不知道怎么用,能不能加您QQ,先谢谢了

追答

我在上班打不开QQ.你留个邮箱地址吧。

追问

问题解决了,谢谢,同样的操作,下面的代码有用,您的我试试好像不行

追答

最精准的代码,最快捷的运算却被最简单的问题绊倒了!无语

第3个回答  2012-05-24
据我所知,目前版本还没有取字体或置字体颜色的函数(自定义除外),另想办法吧,比方说在辅助列中通过查找函数找出相应的词。这要看你需要实现什么样的功能。
相似回答