【发布时间】:2018-01-10 10:27:49
【问题描述】:
我正在尝试实现一个宏,它在大量数据中查找单词“TRUE”和“FALSE”,然后在找到时更改其上方单元格的颜色。
具体来说,我希望它不是为 TRUE/FALSE 单元格着色,而是直接在其上方的 30 个单元格着色。这就是事情变得棘手的地方......我希望有人能提供帮助。
我已尝试修改以下代码,但此时我主要将其添加为灵感。
Sub ChangeColor()
lRow = Range("C" & Rows.Count).End(xlUp).Row
Set MR = Range("C2:C" & lRow)
For Each cell In MR
Select Case cell.Value
Case "Yes"
cell_colour = 4
Case "y"
cell_colour = 4
Case Else
cell_colour = 3
End Select
cell.Interior.ColorIndex = cell_colour
Next
End Sub
【问题讨论】:
-
30 是固定值还是行数可以根据特定条件而变化?
-
总是30!
-
当它找到“TRUE”或“FALSE”时是否停止或继续查找。如果第一个是真的,你为什么不先给整个东西上色,然后从“TRUE”/“FALSE”开始为数组取消颜色
-
它不应该在找到一个案例时停止 - 在数组中它会找到数百个“FALSE”和“TRUE” - 它应该相应地为每个人着色。
-
@CTH,通过数据字段数组添加了一种快速方法。
标签: vba excel formatting