我在"条件格式"中手动创建了这个公式。图形界面
=IF(AND($M7<>""SpecificDeparment"",NOT(ISBLANK($O7))),TRUE)
它应该验证只有一个某个部门接受一个ID,其他人不能有一个id,用RED填充错误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