需要将条件格式应用于命名范围或范围中的单元格或列不连续的其他范围。
'命名范围的下方是从每列构建的,其中值包括单词" DoDAAC" '这些列不一定是彼此相邻的,我需要知道它们中是否存在重复值。 '我试图通过创建条件格式规则来实现这一点,该规则将突出显示彼此不相邻的列中的重复项。 '现在我知道我可以通过收集列表中的值,查找重复项并突出显示它们来创建工作表。 '但是生成的电子表格在创建后由用户分发和更新,如果他们输入副本,我希望单元格变为红色。
'如果以下范围" rg"是一个连续的范围,条件格式的工作没有问题。但是,如果" rg"喜欢"我:我,K:K,M:M"在命名区域中可以是这种情况,然后只有第一个范围应用了格式。
rg.AddConditionalFormat()。WhenIsDuplicate()。Fill.SetBackgroundColor(cxl.XLColor.BabyPink).Font.SetFontColor(cxl.XLColor.Red)
'Creates a named range with all the DoDAAC columns
For Each C As cxl.IXLCell In .Row(1).CellsUsed
If C.Value.ToString Like "*DoDAAC*" Or _
C.Value.ToString Like "*DoDAAC*" Or _
C.Value.ToString Like "*DoDAAC*" Then
C.WorksheetColumn.AddToNamed("DoDAACs", ClosedXML.Excel.XLScope.Workbook
)
End If
Next
'在这里,我尝试将格式应用于命名范围,并且只应用于命名范围范围内的第一个范围。
Dim nr = wkb.Range("DoDAACs").AddConditionalFormat().WhenIsDuplicate().Fill.SetBackgroundColor(cxl.XLColor.BabyPink).Font.SetFontColor(cxl.XLColor.Red)
它无法循环通过所有范围并单独应用格式,因为我在所有列中检查重复。