我使用以下代码将条件格式应用于工作表。问题是,如果我改变Formula1:=Cells(11,7)
中的值[例如],格式化的数据不会反映更新的更改。当我打开Excel的条件格式规则管理器时,规则不会显示对实际单元格的引用,而是显示运行宏时单元格的值。有什么想法吗?
Dim i As Integer
For i = 7 To 13
Range(Cells(21, i), Cells(118, i)).Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
Formula1:=Cells(11, i)
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
Formula1:=Cells(13, i)
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ColorIndex = 6
.TintAndShade = 0
End With
Next
答案 0 :(得分:1)
你想要的更像Formula1:="=$G$11"
所以:
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
Formula1:="=" & Cells(11, i).Address()
答案 1 :(得分:0)
使用这样的代码设置Formula1属性。
Formula1:="=Cells(11, " & i & ")"