0

我有填充工作表并将值复制到网格中的宏。我想为单元格添加条件格式,这样当它们更新时,如果它们变得大于前一列,它们会变成红色,更小它们会变成绿色并变成 0,它们会变成灰色。

我的问题是添加条件并引用单元格。

Set newCell = originalEstimateCell.Offset(0, 2 + i)
newCell.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="XX"
newCell.FormatConditions(1).Interior.Color = RGB(255, 0, 0)

我的问题是什么取代了 XX 来引用同一行中的前一列,即。如果我们在单元格 C7,我想参考单元格 B7。

谢谢

4

2 回答 2

2

试试这个

Sub test()
    ActiveCell.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
                      Formula1:="=" & ActiveCell.Offset(0, -1).Address()
    ActiveCell.FormatConditions(1).Interior.Color = RGB(255, 0, 0)    
End Sub

上面的代码说明当前单元格的值应该大于公式1的值,而公式本身就是活动单元格前一列的单元格地址。如果您希望其他一些单元格被格式化,相对于活动单元格,只需更改偏移方法的参数即可。

我希望它有所帮助。

于 2011-03-07T23:24:57.587 回答
0

我的问题是什么取代了 XX 来引用同一行中的前一列,即。如果我们在 C7 单元格,我想参考 C6 单元格。

C6 将是 C7 的前一行,而不是前一列

尝试

=INDIRECT("C" & ROW()-1)

从上一行获取值

于 2011-03-07T16:36:49.763 回答