所以我将条件格式添加到用户使用VBA动态创建的单元格列。我遇到的问题是,添加第一个格式后,任何后续格式将更改已格式化单元格的字体颜色。已经从主源复制的单元格中存在一些条件格式,当主格式为cell = 0或&#34时选择一个:"在黄色单元格中是蓝色文本下面是我到目前为止的代码:
With Range(Ltrs & 36, Ltrs & 41)
.FormatConditions.Add xlExpression, Formula1:="= $" & Ltrs & "$33 <> ""Custom" & OCV + 1 & """"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1)
.Interior.Color = vbBlack
.Font.Color = vbBlack
.StopIfTrue = False
End With
End With
With Range(Ltrs & 42, Ltrs & 44)
.FormatConditions.Add xlExpression, Formula1:="=AND($" & Ltrs & "$29<>Repack1, $" & Ltrs & "$29<>Repack2)"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1)
.Interior.Color = vbBlack
.Font.Color = vbBlack
.StopIfTrue = False
End With
End With
With Range(Ltrs & 45)
.FormatConditions.Add xlExpression, Formula1:="=AND($" & Ltrs & "$29<>Repack1, $" & Ltrs & "$29<>Repack2)"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1)
.Interior.Color = vbBlack
.Font.Color = vbBlack
.StopIfTrue = False
End With
End With
With Range(Ltrs & 47)
.FormatConditions.Add Type:=xlTextString, String:="Enter", TextOperator:=xlContains
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1)
.Interior.Color = 13421823 'Light Red
.Font.Color = -14614363 'Dark Red/Brown
.StopIfTrue = False
End With
End With
这导致所有具有0的单元格用红色文本格式化,所有单元格用&#34;选择一个:&#34;单元格包含值&#34;输入&#34;有蓝色文字。奇怪的是(至少对我来说)内部单元格颜色仍然是正确的,它只是字体颜色错误。
答案 0 :(得分:2)
尝试类似这样的地方,其中start是您要开始条件格式的字符,而Length是您需要格式化的字符数。
范围(“B2”,“H11”)。字符(开始,长度).Font.Size = 14
范围(“B2”,“H11”)。字符(开始,长度).Font.Bold = True
范围(“B2”,“H11”)。字符(开始,长度).Font.Underline = True