查找并选择重复项无法使用Excel VBA

时间:2013-07-31 14:08:21

标签: sql-server excel vba excel-vba duplicates

所以我有一个代码可以将我的选择字体改为红色。我从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

2 个答案:

答案 0 :(得分:0)

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

我在此thread

上发现了类似的帖子

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

Cells.FormatConditions.Delete

答案 1 :(得分:0)

你的代码也适合我。你检查过" EnableFormatConditionsCalculation"你的工作表?

这是解决方案; Microsoft Community

导致;

Solution for the auto refresh problem with conditional formatting in Excel 2007

但对2010年来说似乎也是一个问题?这些帖子中还有其他一些回复,您可能会觉得有帮助。