0
我不是VBA的专家。但我正在尝试编写一个模块,用于在工作簿中的所有工作表中搜索特定的字符串“ERROR”,并使其变为粗体并为找到的单元格Red着色。在VBA的工作表中搜索字符串
我可以解析每个工作表。但是,我无法使用VBA的Find
功能。
任何帮助/想法如何进行将帮助我很多。
感谢
我不是VBA的专家。但我正在尝试编写一个模块,用于在工作簿中的所有工作表中搜索特定的字符串“ERROR”,并使其变为粗体并为找到的单元格Red着色。在VBA的工作表中搜索字符串
我可以解析每个工作表。但是,我无法使用VBA的Find
功能。
任何帮助/想法如何进行将帮助我很多。
感谢
下面是使用Find
和格式化发现的干细胞
Sub FindERROR()
Dim SearchString As String
Dim SearchRange As Range, cl As Range
Dim FirstFound As String
Dim sh As Worksheet
' Set Search value
SearchString = "ERROR"
Application.FindFormat.Clear
' loop through all sheets
For Each sh In ActiveWorkbook.Worksheets
' Find first instance on sheet
Set cl = sh.Cells.Find(What:=SearchString, _
After:=sh.Cells(1, 1), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not cl Is Nothing Then
' if found, remember location
FirstFound = cl.Address
' format found cell
Do
cl.Font.Bold = True
cl.Interior.ColorIndex = 3
' find next instance
Set cl = sh.Cells.FindNext(After:=cl)
' repeat until back where we started
Loop Until FirstFound = cl.Address
End If
Next
End Sub
+ 1我在OP的评论中增加了一个小小的说明线。 – 2012-08-05 04:57:38
有记录的例子的宏观和手动搜索使用CTL F.见你得到了什么码? – 2012-08-05 03:33:46
非常感谢。然而,单元格的内容是一个公式而不是文本。因此,我通过“查看值”进行搜索。但是我无法使它变成粗体,并使细胞变成红色。任何想法 ? – Kiran 2012-08-05 04:18:13
是的,您必须使用“查看数值”进行搜索,并且您还必须在“内部”下拉列表中选择“工作簿”。然后用找到的单元格使它变成粗体和红色。看到这个链接http://siddharthrout.wordpress.com/2011/07/14/find-and-findnext-in-excel-vba/ – 2012-08-05 04:25:31