Excel VBA 宏:格式化重复项和唯一项

Excel VBA 宏:格式化重复项和唯一项

我有一张电子表格,其中每一行都包含有关群组成员的信息。列的每个单元格中B都有一个整数代表每个人(即成员 ID)。所有成员都有一个唯一的 ID。

我想使用条件格式以红色突出显示重复项。

问题在于,由于复制粘贴到电子表格而不是键入,受影响单元格中的条件格式将被删除。这意味着重复检测已消失。此外,长整数变成了科学计数法,这很不方便。

我尝试使用 VBA 程序来修复此问题。我定义了函数EnforceFormatB1每次对电子表格进行更改时,该函数都会强制格式化 B 列的所有单元格(除 外)。编辑器没有返回任何错误,所以我认为没问题。但是当我回到电子表格时,我注意到宏没有做任何事情。

我的代码有什么问题?另外,我应该添加哪些属性来禁用科学计数法并指定精确的字体?

Sub EnforceFormat()
    'Define Range for Conditional Formatting
    Dim EnforcedRange As Range
    
    'Set Range for Conditional Formatting
    Set EnforcedRange = Range("B2:B1048576")
    
    'Define Rule for Duplicates
    Dim Uniques1 As UniqueValues
    
    'Set Rule and Style for Duplicates
    Set Uniques1 = EnforcedRange.FormatConditions.AddUniqueValues
    Uniques1.DupeUnique = xlDuplicate
    Uniques1.Font.Color = RGB(255, 0, 0)
    Uniques1.Font.Bold = True
    Uniques1.Font.Size = 17
    
    'Define Rule for Uniques
    Dim Uniques2 As UniqueValues
    
    'Set Rule and Style for Uniques
    Set Uniques2 = EnforcedRange.FormatConditions.AddUniqueValues
    Uniques2.DupeUnique = xlUnique
    Uniques2.Font.Color = RGB(0, 0, 0)
    Uniques2.Font.Bold = False
    Uniques2.Font.Size = 15
End Sub

相关内容