所以我有一个代码可以将我的选择字体改为红色。我从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
答案 0 :(得分:0)
我刚刚尝试了您的代码,它似乎可行。也许您需要在查询运行后刷新条件?您可能需要删除并重新添加条件。
我在此thread
上发现了类似的帖子看起来这段代码会删除条件:
Cells.FormatConditions.Delete
答案 1 :(得分:0)
你的代码也适合我。你检查过" EnableFormatConditionsCalculation"你的工作表?
这是解决方案; Microsoft Community
导致;
Solution for the auto refresh problem with conditional formatting in Excel 2007
但对2010年来说似乎也是一个问题?这些帖子中还有其他一些回复,您可能会觉得有帮助。