【发布时间】:2014-12-27 23:34:44
【问题描述】:
我被卡住了,我不知道是否有任何解决方案,因为我尝试了很多并且一直失败。
我正在尝试添加条件格式,因此如果 B 列中的单元格等于或小于 A 列中合作伙伴单元格的 19%,则单元格变为黄色。因此在上面的示例中,单元格 B1 应该变为黄色,因为 $19,000 更少大于或等于 100,000 美元的 19%。
我需要通过 excel vba 添加这个条件格式。我尝试在下面添加 vba 代码,但 B1:B3 中所有单元格的条件格式公式都被 $A1*0.19 卡住了。我需要 B1 条件格式公式为 $A1*0.19,然后 B2 条件格式公式为 $A2*0.19 等等等等。顺便说一句,我有大约 350 行,而不仅仅是 3 行。即便如此,我的 vba 代码还是变成了 $A521325*0.19 或与真实或实际不同的东西。
With Sheet1.Range(Sheet1.Cells(1, 2), Sheet1.Cells(3, 2))
daformula = "=$A1*0.19"
.FormatConditions.Add Type:=xlCellValue, Operator:=xlLessEqual, Formula1:=daformula
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(1).Interior.PatternColorIndex = xlAutomatic
.FormatConditions(1).Interior.ThemeColor = xlThemeColorAccent2
.FormatConditions(1).Interior.TintAndShade = -0.249946592608417
.FormatConditions(1).StopIfTrue = False
End With
这个想法是在运行将条件格式添加到工作表的宏之后,当用户更改 B 列中的一个单元格时,颜色会消失或重新出现,具体取决于用户将单元格更改为的值(条件格式必须仍然工作)
【问题讨论】:
-
我已经测试了你上面的代码,效果很好。工作正常HERE
-
不,恐怕不是。使用链接中的该文件,尝试删除所有条件格式,然后再次运行代码。您会看到 38 个中有 200 个没有变红,其他的也没有变红。搞砸了这似乎确实很难:s
-
不知道该告诉你什么,代码对于 Excel 2010 是正确的。如果你有不同的版本,我想我没有多大帮助:(
-
是的,我有 Excel 2007:s