gpt4 book ai didi

excel - 如何使用 excel 宏将条件格式应用于多列

转载 作者:行者123 更新时间:2023-12-04 20:47:18 25 4
gpt4 key购买 nike

我创建了一个条件格式来根据一个单元格的值比较来更改颜色,但我不知道如何将此格式应用于整个列甚至其他列? (我是否必须使用 for 循环来设置所有单元格的格式?)

'add conditionalFormating for one cell.
Set rngCell = Cells(6, 7)
Set objCF = rngCell.FormatConditions.Add _
(Type:=xlExpression, _
Formula1:="=" & rngCell.Address & " > " & rngCell.offset(, -3).Address)
'set formats for new CF

With objCF
.Font.ColorIndex = 26
.Interior.ColorIndex = 19
End With

提前致谢

最佳答案

不幸的是,Excel 2007/2010 没有像早期版本那样广泛的宏记录功能

如果您在应用条件格式时引用了其他单元格,一个好方法是将其应用到一个单元格(您知道怎么做),然后将格式复制到该列的其余部分;如果您正在填写一列,这不会导致您丢失您可能希望保留的其他单元格格式

所以我会开始你的代码

rngCell.FormatConditions.Delete

然后,一旦添加了格式,您就可以简单地使用:
rngCell.Copy
rngOut.PasteSpecial xlPasteFormats

,其中 rngOut 定义为以 rngCell 开始并填充到表中的最后一行

要应用于其他列,您可能需要不同的公式,因为存在不同的偏移量。为了尽量减少所需的代码,您始终可以手动将您想要的全套格式/条件格式添加到表格标题上方的隐藏行中。然后你可以使用表单的代码将所有这些复制到你的表中......
Range("A1:J1").Copy
Range("A3:J100").PasteSpecial xlPasteFormats

...如果我们假设当您在第 1 行中添加格式化的行时您的标题被下推到第 2 行

尽管我在上面的示例中提到了单元格地址,但我始终建议引用范围名称并使用单元格表示法,例如Range("A1") 是单元格 (1, 1)。 expert Excel video 中更详细地介绍了使用范围名称来定义表中的列。 .好处是巨大的...如果您的标题行是用范围名称定义的,您可以在表格上方插入一个新行,而无需重新编写任何代码

关于excel - 如何使用 excel 宏将条件格式应用于多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10292921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com