【发布时间】:2016-11-19 04:30:52
【问题描述】:
我在“条件格式”图形界面中手动创建了这个公式
=IF(AND($M7<>""SpecificDeparment"",NOT(ISBLANK($O7))),TRUE)
它应该验证只有一个特定部门接受一个 ID,其他部门不能有一个 ID,用红色填充错误 ID 单元格,它手动工作得很好,我将公式替换为 RC 格式
=IF(AND(RC[-2]<>""SpecificDeparment"",NOT(ISBLANK(RC))),TRUE)
它运行并且对 Worksheet 没有任何影响,但如果我只允许一个条件(例如:=IF($RC[-2]<>""SpecificDeparment"",TRUE)
它可以工作并更改我的列填充颜色。
这是我用于在 VBA 中分配格式的代码:
With .Range(wrkbook.Sheets("Data").Cells(FirstRow, .Range("ID_Marker").Column), wrkbook.Sheets("Data").Cells(LastRow, .Range("ID_Marker").Column))
.FormatConditions.Add Type:=xlExpression, Formula1:="=IF(AND(RC[-2]<>""SpecificDeparment"",NOT(ISBLANK(RC))),TRUE)"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1)
.Font.ColorIndex = MustFixDataFontColor
.Font.Bold = MustFixDataFontBold
.Interior.ColorIndex = 3
.StopIfTrue = False
End With
End With
DoEvents
【问题讨论】:
-
I know the formula is good- 真的吗? R1C1 不使用美元。 -
当我将您的公式放入 msgbox 时,特定部门中缺少引号,只有一组引号,即“特定部门”
-
SpecificDeparment似乎是SpecificDepartment的拼写错误。 -
我在excel中的公式中没有$,我在编辑这个页面的代码时不小心把它们放了。拼写错误不是错误,我在代码上有真实姓名部门但将其替换为不共享公司信息。
-
反逗号应该是两对,因为如果不是 VBA 代码会发送错误消息,则“DoubleInvertedCommas”是在代码中执行此操作的方式。有什么想法是我的问题吗? :(
标签: vba excel excel-formula