Excel VBA查找/替换&;文本颜色变化
我有一个三栏的电子表格。A列有一些句子(用黑色字体写)。列C有一个要搜索的术语列表。D列有替换术语列表(以红色字体书写) 我试图在A列中的句子中搜索C列中的搜索词。如果A列包含C列中的任何搜索词,请将A列中的文本替换为D列中的替换词 查找/替换功能非常有效。但是我无法使A列中字符串的替换部分的字体颜色变为红色 有什么想法吗 这是我到目前为止得到的代码Excel VBA查找/替换&;文本颜色变化,excel,vba,replace,find,Excel,Vba,Replace,Find,我有一个三栏的电子表格。A列有一些句子(用黑色字体写)。列C有一个要搜索的术语列表。D列有替换术语列表(以红色字体书写) 我试图在A列中的句子中搜索C列中的搜索词。如果A列包含C列中的任何搜索词,请将A列中的文本替换为D列中的替换词 查找/替换功能非常有效。但是我无法使A列中字符串的替换部分的字体颜色变为红色 有什么想法吗 这是我到目前为止得到的代码 Private Sub CommandButton1_Click() For i = 3 To 6 Worksheets("Shee
Private Sub CommandButton1_Click()
For i = 3 To 6
Worksheets("Sheet1").Range("A2:A35").Select
Selection.Replace What:=Cells(i, 3).Value, Replacement:=Cells(i, 4).Value, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
Next
Worksheets("Sheet1").Cells(1, 1).Select
End Sub
试试这个:
Private Sub CommandButton1_Click()
For i = 3 To 6
Worksheets("Sheet1").Range("A2:A35").Select
With Application.ReplaceFormat
.Font.Color = vbRed
End With
Selection.Replace What:=Cells(i, 3).Value, Replacement:=Cells(i, 4).Value, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, ReplaceFormat:=True
Next
Worksheets("Sheet1").Cells(1, 1).Select
End Sub
设置用于替换单元格格式的替换条件。然后在对范围对象的Replace方法的后续调用中使用替换条件
你能提供一个演示输入/输出的例子吗?我想我明白你想做什么,但如果我能看到你期望的结果,我会觉得更容易。我想你要做的是设置
ReplaceFormat
,然后设置为Font.Color=RGB(255,0,0)
或类似的内容。然而,这似乎取代了整个单元格的格式。不仅仅是最初找到的文本。如果单元格中的格式不同,您需要循环遍历所有字符以设置所需的格式。在我的脑海中,您可以找到replace并使用类似$的内容!{替换文本}$
然后通过搜索$来跟进您的替换!{*}$!在删除$之前,请先编写>并更新这些节的格式!{}$!代码>字符串的一部分。可能只是为了更容易准确地知道正在更改的内容,而不必检查每个单元格的文本。当然,您也可以使用变体数组或其他方法来查找->替换您自己-这可能是最快的方法。谢谢您回复我。我们快到了。上述解决方案将单元格中的所有单词更改为红色。是否可以仅将字符串的替换部分更改为红色,而单元格中的其余文本保持黑色?