您能否建议我如何通过单击突出显示列中的重复项。我需要在VB脚本中编写代码,并将使用Excel电子表格中的宏运行。我不想将数据验证提供给列或条件格式以突出显示重复项。
我需要根据其库存名称突出显示该列(在一个单独的列中,我需要突出显示具有不同颜色的不同值的重复项)。
例如。我的表中有20多个coulmns。我需要在20列中突出显示员工ID,注册号,角色等的重复项。为了您的信息,这些列名称将始终不是固定的顺序..
所以要求突出显示一个值..(第1行是固定的,总是有主题名称)..
请帮助我!
提前致谢..
下面是我的代码..这工作正常但是它会抛出错误RUN TIME ERROR'1004' - 无法获取Worksheetfunction类的Match属性..并突出显示下面的代码行
cel.Interior.ColorIndex = rng.Cells(WorksheetFunction.Match(cel.Value, rng, False), 1).Interior.ColorIndex
此外,我不知道如何根据列名进行编码,因此它返回从A到Z的所有库存中的重复项。相反,我只想突出显示选定列...其中重复项也可能出现在AA中,AB,AC甚至更多!
Sub DupEntry()
Dim cel As Variant
Dim rng As Range
Dim clr As Long
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'Sample Array of Columns
Dim Col(1 To 26) As String
Col(1) = "A"
Col(2) = "B"
Col(3) = "C"
Col(4) = "D"
Col(5) = "E"
Col(6) = "F"
Col(7) = "G"
Col(8) = "H"
Col(9) = "I"
Col(10) = "J"
Col(11) = "K"
Col(12) = "L"
Col(13) = "M"
Col(14) = "N"
Col(15) = "O"
Col(16) = "P"
Col(17) = "Q"
Col(18) = "R"
Col(19) = "S"
Col(20) = "T"
Col(21) = "U"
Col(22) = "V"
Col(23) = "W"
Col(24) = "X"
Col(25) = "Y"
Col(26) = "Z"
'Iterate through Columns
For i = 1 To 26
Set rng = Range(Col(i) & "1:" & Col(i) & Range(Col(i) & "1048576").End(xlUp).Row)
rng.Interior.ColorIndex = xlNone
clr = 26
For Each cel In rng
If Application.WorksheetFunction.CountIf(rng, cel) > 1 Then
If Application.WorksheetFunction.CountIf(Range(Col(i) & "1:" & Col(i) & cel.Row), cel) = 1 Then
cel.Interior.ColorIndex = clr
clr = clr + 1
Else
cel.Interior.ColorIndex = rng.Cells(WorksheetFunction.Match(cel.Value, rng, False), 1).Interior.ColorIndex
End If
End If
Next
Next i
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
答案 0 :(得分:0)
您可以进行条件格式化 - 其中一个默认选项是检查并突出显示重复项。突出显示所需的列,转到条件格式,新规则。然后选择"仅格式化唯一值或重复值",然后选择"复制"在下部区域的下拉选项中。设置所需的格式(红色背景,红色文本等),然后点击"确定"