如何以最简单的方式对此进行编码?
如果我们说Range("A1").value = "Thursday"
检查所有具有值的单元格的重复项(B1,C1,D1,...)
如果找到重复项,请在每个单元格Range("B2:B4")
下方选择3个单元格,依此类推......
答案 0 :(得分:1)
最简单的方法是检查重复项:
使用WorksheetFunction
= COUNTIF(A:A,A1)→1
使用VBA
Dim Target As Range
Dim r As Range
Set Target = Range("A1", Range("A" & Rows.Count).End(xlUp))
For Each r In Target
r.Offset(0, 1) = WorksheetFunction.CountIf(Target, r.Value) > 1
Next
如果要删除范围第一列中的重复项
Target.RemoveDuplicates Columns:= 1,Header:= xlNo
如果您想扩展您的范围以包含列B和C
设置目标=范围(“A1”,范围(“A”和Rows.Count)。结束(xlUp))。调整大小(,3)
删除第一列和第三列中的重复项
Target.RemoveDuplicates Columns:= Array(1,3),Header:= xlNo
删除包含重复项的行
Target.EntireRow.RemoveDuplicates Columns:= Array(1,3),Header:= xlNo
答案 1 :(得分:0)
下面的代码标识列中的重复值,并用红色突出显示。希望这会有所帮助。
iLastRow = Cells(chosenExcelSheet.Rows.Count, 1).End(xlUp).Row 'Determine the last row to look at
Set rangeLocation = Range("A1:A" & iLastRow) 'Range can be updated as per your need
'Checking if duplicate values exists in same column
For Each myCell In rangeLocation
If WorksheetFunction.CountIf(rangeLocation, myCell.Value) > 1 Then
myCell.Interior.ColorIndex = 3'Highlight with red Color
Else
myCell.Interior.ColorIndex = 2'Retain white Color
End If
Next