我有以下代码:这只填充列a中的行,我希望填充所有列。
Sheets("Schedule").Cells.Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=m1=""Part"""
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.399945066682943
End With
我已经让它选择所有细胞来解决这个问题,但它没有用到
答案 0 :(得分:2)
中的公式
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=M1=""Part"""
不正确。只需使用
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$M1=""Part"""
相反,它会起作用。
注意:强>
这里的差异是$
前面的M
,它可以确保列固定,但行1
不是并且可以迭代。
我建议不要使用.Select
和Selection.
(这是不好的做法,应该始终)。
您的代码可以像这样改进:
With Sheets("Schedule").Cells
.FormatConditions.Add Type:=xlExpression, Formula1:="=$M1=""Part"""
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.399945066682943
End With
End With
答案 1 :(得分:0)
如果您希望工作表中的所有单元格在有单词" Part"时变为蓝色。那么你应该使用这个代码。
Sheets("Schedule").Cells.Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=A1=""Part"""
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.399945066682943
End With
如果你想要条件从" M"在列中,您应该使用此行Sheets("Schedule").range("M:AAA").select
代替Sheets("Schedule").Cells.Select
。