VBA查找/替换和文本颜色更改

时间:2019-10-28 21:34:59

标签: excel vba replace find

我有一个包含三列的电子表格。列A中有一些句子(用黑色字体写)。 C列具有要搜索的术语的列表。 D列中有一个替换项列表(用红色字体显示)。

我正在尝试在A列中的句子中搜索C列中的搜索词。并且,如果A列中包含C列中的任何搜索词,请用D列中的替换词替换A列中的文本

查找/替换功能效果很好。但是我无法获得A列中字符串替换部分的字体颜色变成红色。

有什么想法吗?

这是我到目前为止获得的代码。

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

1 个答案:

答案 0 :(得分:0)

尝试一下:

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

Microsoft Explanation:

  

设置替换条件以用于替换单元格格式。然后,替换条件将在后续对Range对象的Replace方法的调用中使用。