如何根据单元格内容使用RGB颜色将条件格式应用于Word单元格



我有大约100个大型Word文档,每个文档中大约有50个表。我正试图找到一种快速格式化它们的方法(使用VBA(,这样我就不必手动为每个单元格上色了。

我需要根据细胞的内容用特定的RGB颜色给细胞上色。例如:"非常好"或"次要"的单元格,需要用RGB 112173,71填充。"良好"或"中等"的单元格需要为RGB 169208142。

表示例

我有大约10个不同的单词组合需要上色。

我查了一些条件格式问题,但大多数问题似乎都是基于数值/整数值而不是文本来给单元格上色的。

任何帮助都会很棒。

这段代码应该会让你开始工作。您可以为不同的单词组合添加额外的Case语句,并调整RGB值:

Dim objTable As Table
Dim iRowCounter As Integer
Dim iColumnCounter As Integer
Dim lngVeryGoodColor As Long
Dim lngGoodColor As Long
' Predefine colors
lngVeryGoodColor = RGB(112, 173, 71)
lngGoodColor = RGB(169, 208, 142)
' Loop through all tables in document
For Each objTable In ThisDocument.Tables
For iRowCounter = 1 To objTable.Rows.Count
For iColumnCounter = 1 To objTable.Columns.Count
' Get Table cell
With objTable.Cell(iRowCounter, iColumnCounter)
If InStr(.Range.Text, "Good") > 0 Then .Shading.BackgroundPatternColor = lngGoodColor
If InStr(.Range.Text, "Moderate") > 0 Then .Shading.BackgroundPatternColor = lngGoodColor
If InStr(.Range.Text, "Very good") > 0 Then .Shading.BackgroundPatternColor = lngVeryGoodColor
If InStr(.Range.Text, "Minor") > 0 Then .Shading.BackgroundPatternColor = lngGoodColor
End With
Next
Next
Next

最新更新