Excel 2010 VBA:设置上一列中单元格引用单元格的颜色

发布于 2024-10-20 19:55:15 字数 417 浏览 2 评论 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 单元格。

谢谢

I have macro that populates a sheet, and copies values into a grid. I want to add conditional formatting to the cells, so that when they are updated if they become greater than the previous column they turn red, smaller they turn green and become 0 they turn grey.

My problem is adding the condition and referenceing the cell.

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)

My question is what replaces the XX to refer to the previous column in the same row, ie. if we are in Cell C7 I want to refer to cell B7.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

指尖上的星空 2024-10-27 19:55:15

试试这个

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

上面的代码指出当前单元格的值应该大于 Formula1 的值,并且公式本身是活动单元格前一列的单元格的地址。如果您希望相对于活动单元格设置其他单元格的格式,只需更改偏移方法的参数即可。

我希望它有帮助。

Try this one

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

The code above states that the current cell value should be greater than the value of the Formula1, and the formula itself is the address of the cell one column before the active cell. If you want some other cell to be formatted, relatively to the active cell, just change the paramters of the offset method.

I hope it helped.

何以畏孤独 2024-10-27 19:55:15

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

C6 将是 C7 的上一个,而不是上一列

尝试

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

从上一行获取值

My question is what replaces the XX to refer to the previous column in the same row, ie. if we are in Cell C7 I want to refer to cell C6.

C6 would be the previous row to C7, not the previous column

Try

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

to get the value from the previous row

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文