Excel VBA - 将文本附加到单元格,同时保持单元格已经更改的文本颜色

时间:2014-11-11 16:16:22

标签: vba text colors append cell

我正在对两个单元格中的数据进行比较(例如,单元格A1和单元格B1)。然后我将结果添加到“比较”单元格。

  • 如果在B1中添加了某些内容(新内容),我会将该值添加到“比较”单元格并将颜色设置为绿色
  • 如果两者都存在,我将该值添加到'比较'单元格并为该值着色BLACK
  • 如果仅在A1中存在某些内容(在B1中删除),我会将该值添加到“比较”单元格并将颜色设置为红色。

这样可行,但每次我向单元格添加新内容时,单元格都不会保留以前更改的文本的颜色。

我使用以下内容将下一个项目添加到单元格,然后为该项目着色。

comparedCell.Value = comparedCell & "|" & myStringToAppend
comparedCell.Characters(Len(comparedCell) + 2, Len(myStringToAppend)).Font.Color = RGB(0, 255, 0)

有没有办法添加附加彩色文字而不重置我已经在单元格中显示的内容?

1 个答案:

答案 0 :(得分:0)

目前,您正在测试附加后的compareCell 的长度,因此它将包含附加文本。

尝试使用InStrRev()查找最后一个管道符号" |"从那里进入并工作。

这样的事情:

comparedCell.Value = comparedcell & "|" & myStringToAppend
comparedCell.Characters(InStrRev(comparedCell, "|") + 1, Len(myStringToAppend)).Font.Color = RGB(0, 255, 0)