0

所以我有一个代码应该将我选择的字体更改为红色。我从 SQL 数据库中提取了两个表,并希望从这些表中选择两列并突出显示所有重复项。但是,下面的代码仅突出显示了两列,并没有进行任何字体更改。当我说删除从 D11 到 D2000(或从 M11:M200)中的任何重复值并重写该值时,字体确实会发生变化。我怎样才能让它自动发生字体更改?

Sub Duplicates()
Dim Rng As Range
Set Rng = Application.Union(Range("Sheet1!D11:D2000"), Range("Sheet1!M11:M200"))
Rng.Select
With Selection 
    .FormatConditions.AddUniqueValues 
    .FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
    .FormatConditions(1).DupeUnique = xlDuplicate
End With 

With Selection.FormatConditions(1).Font 
    .Bold = True
    .Color = -16776961 
End With
End Sub
4

2 回答 2

0

我刚刚尝试了您的代码,它似乎可以工作。也许您需要在查询运行后刷新条件?您可能需要删除并重新添加条件。

我在这个线程上发现了一个类似的帖子

看起来这段代码将删除条件:

Cells.FormatConditions.Delete
于 2013-07-31T14:39:32.220 回答
0

你的代码也对我有用。您是否检查过工作表的“EnableFormatConditionsCalculation”?

这是指向的解决方案; 微软社区

这导致;

Excel 2007中条件格式自动刷新问题的解决方法

但似乎也是 2010 年的问题?这些帖子中还有其他一些回复,您可能会发现有帮助。

于 2013-07-31T15:55:44.747 回答