【发布时间】:2015-05-05 21:29:08
【问题描述】:
如果任何单元格包含文本“example”,则该单元格+右侧同一行的两个单元格,将被突出显示。
例如
b5 包含“example”,b5,c5,d5 需要用橙色高亮 b9 包含“示例”,b9,c9,d9 需要以橙色突出显示。
等等。多行多列可以包含特定文本。
任何帮助,示例表示赞赏。
Private Sub CommandButton1_Click()
row_number = 4
Do
DoEvents
row_number = row_number + 1
swing_data = Sheet1.Range("B" & row_number)
If InStr(swing_data, "Test") >= 1 Then
With Range("B" & row_number).Offset(, 2).Interior
.Pattern = x1solid
.PatternColorIndex = x1automatic
.Color = 65535
.PatternTintAndShade = 0
End With
End If
Loop Until swing_data = ""
End Sub
这并没有突出显示右侧的 2 个单元格,如果有一个空白单元格,它就会停止。而且它只适用于一列。需要在 B、E、N、Q、Z、AC 列上工作,
改变了这一行
<code>With Range("B" & row_number).Offset(, 2).Interiorcode>
阅读<code>With Range("B" & row_number).resize(, 3).Interiorcode>
而且它有效。
在此...中包含多个列会更简单吗?
【问题讨论】:
-
不需要 VBA。看Conditional Formatting。
-
我查看了条件格式,但未能找到实现此目的的方法。需要很多很多的规则。正在使用的excel版本不能超过3条规则。因此,为什么要走 vba 路线。
-
根据您的示例数据,您将首先选择 B5:D5,然后使用此公式
=$B5="Example"创建基于公式的 CF 规则。这可以复制到其他行,也可以手动调整Applies to:。 -
我已经经历了至少 30 种不同的条件格式、公式等,但条件格式并没有让我获得结果。