VBA实现指定工作表行含特定文本时填充背景色
VBA宏一键设置Sheet2第3行多关键词条件填充
以下是直接解决问题的完整代码,附带关键细节说明:
Sub SetHolidayFormat() Dim targetSheet As Worksheet Dim targetRange As Range ' 明确指定操作对象为当前工作簿的Sheet2 Set targetSheet = ThisWorkbook.Sheets("Sheet2") ' 定位到第3行整行(若只需部分列,可改为Range("A3:Z3")这类具体范围) Set targetRange = targetSheet.Range("3:3") ' 清除第3行原有条件格式,避免重复添加规则 targetRange.FormatConditions.Delete ' 添加多关键词匹配的条件格式规则 With targetRange.FormatConditions.Add(Type:=xlExpression, Formula1:= _ "=OR(ISNUMBER(SEARCH(""holiday"",A3)),ISNUMBER(SEARCH(""vacation"",A3)),ISNUMBER(SEARCH(""sick"",A3)),ISNUMBER(SEARCH(""birthday"",A3)))") ' 设置目标填充颜色 .Interior.Color = RGB(221, 235, 247) ' 若需要保留之前的加粗效果,取消下面一行的注释 '.Font.Bold = True End With End Sub
关键细节说明
- 指定工作表:用
ThisWorkbook.Sheets("Sheet2")绑定目标工作表,完全不依赖当前活动工作表,确保操作精准。 - 多关键词匹配:通过
OR+SEARCH组合实现模糊匹配,SEARCH不区分大小写(若要严格区分,替换为FIND函数),只要单元格包含任意指定关键词就触发格式。 - 填充颜色:直接通过
.Interior.Color设置RGB颜色值,解决你之前无法填充的问题。 - 一键复用:把这个宏保存到个人宏工作簿(Personal.xlsb),以后打开任何新工作簿都能直接运行;也可以给宏绑定快速访问工具栏按钮,点击即可完成设置。
内容的提问来源于stack exchange,提问作者AdamArdea
相关产品推荐
相关产品推荐

