VBA调整需求:指定行A-T列设置填充色(非单个单元格/整行)
调整VBA代码实现指定区域填充色设置
需求说明
- 因条件格式导致Excel卡顿,改用VBA实现单元格填充色设置
- 原代码仅为B8:B500区域内值为1/2的单个单元格设置颜色,需修改为:
- 当B列单元格值为1时,将该行A-T列设为黄色填充
- 当B列单元格值为2时,将该行A-T列设为红色填充
- 仅设置A-T列,不设置整行颜色
修改后的代码
Sub abcd() Dim r As Range ' 遍历B8:B500区域的常量单元格 For Each r In Range("B8:B500").SpecialCells(xlCellTypeConstants) ' 先清除当前行A-T列的填充色 Range("A" & r.Row & ":T" & r.Row).Interior.ColorIndex = xlNone ' 根据B列值设置对应区域颜色 If r.Value Like "1" Then Range("A" & r.Row & ":T" & r.Row).Interior.Color = vbYellow ElseIf r.Value Like "2" Then Range("A" & r.Row & ":T" & r.Row).Interior.Color = vbRed End If Next r End Sub
代码说明
- 用
Range("A" & r.Row & ":T" & r.Row)精准定位当前行的A-T列区域,避免误设整行 - 先清除目标区域原有填充色,再根据B列值设置对应颜色,避免残留旧格式
- 改用
ElseIf优化判断逻辑,减少不必要的条件检查
内容的提问来源于stack exchange,提问作者exxons
相关产品推荐
相关产品推荐

