【发布时间】:2020-02-24 04:15:32
【问题描述】:
我有一个包含三列的电子表格。 A 列中有一些句子(用黑色字体书写)。 C 列有一个要搜索的术语列表。并且 D 列有一个替换术语列表(用红色字体颜色书写)。
我正在尝试在 A 列中的句子中搜索 C 列中的搜索词。并且,如果 A 列包含 C 列中的任何搜索词,请将 A 列中的文本替换为 D 列中的替换词.
查找/替换功能效果很好。但是我无法让 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
【问题讨论】:
-
你能提供一个演示输入/输出的例子吗?我想我理解你想要做什么,但如果我能看到你期望的结果会更容易
-
我认为您想要做的是将
ReplaceFormat设置为Font.Color = RGB(255,0,0)或类似的东西。 -
然而,这似乎替换了整个单元格的格式。不仅仅是最初找到的文本。
-
如果单元格中的格式不同,您需要遍历所有字符以将格式设置为您想要的。
-
在我的脑海中,您可以查找-替换并使用类似
$!{replaced text}$!的内容,然后通过搜索$!{*}$!来跟踪您的替换,并在删除之前更新这些部分的格式$!{}$!字符串的一部分。可能只是更容易准确地了解正在更改的内容,而无需检查每个单元格的文本。当然,您也可以只使用变量数组或其他方式查找->替换自己 - 这可能是最快的方法。