Excel 删除重复项,但尊重案例
我需要删除数据中的重复项,如: 我使用的代码如下:Excel 删除重复项,但尊重案例,excel,vba,Excel,Vba,我需要删除数据中的重复项,如: 我使用的代码如下: Sub Macro1() ActiveSheet.Range("$G$1:$G$10").RemoveDuplicates Columns:=1, Header:=xlNo End Sub 产生: 我想保留字母顺序相同但大小写不同的单词。如何实现这一点???您可以使用以下代码。假设数据在A1到A7的范围内,对于不同的范围,您可以修改代码 Dim oDic As Object, vData As Variant, r As Long
Sub Macro1()
ActiveSheet.Range("$G$1:$G$10").RemoveDuplicates Columns:=1, Header:=xlNo
End Sub
产生:
我想保留字母顺序相同但大小写不同的单词。如何实现这一点???您可以使用以下代码。假设数据在A1到A7的范围内,对于不同的范围,您可以修改代码
Dim oDic As Object, vData As Variant, r As Long
Set oDic = CreateObject("Scripting.Dictionary")
With Range("A1:A7")
vData = .Value
.ClearContents
End With
With oDic
.comparemode = 0
For r = 1 To UBound(vData, 1)
If Not IsEmpty(vData(r, 1)) And Not .Exists(vData(r, 1)) Then
.Add vData(r, 1), Nothing
End If
Next r
Range("A1").Resize(.Count) = Application.Transpose(.keys)
End With
这里有一个可能对你有用的方法。(它显然有一些粗糙的编码元素,但我认为你已经了解了情况,可以根据需要修复任何东西):
Sub RespectCase()
Dim rSearch As Range, cel As Range, rFound As Range
Set rSearch = Range("G1:G10")
Set rFound = Range("J1:J10")
For Each cel In rSearch
Dim rMatch As Range
Set rMatch = rFound.Find(cel, LookAt:=xlWhole, MatchCase:=True)
If rMatch Is Nothing Then
Range("J10").End(xlUp).Offset(1).Value = cel
End If
Next
End Sub