excel中怎么删除同一行中的重复值?

2025-05-21 06:14:59
推荐回答(2个)
回答1:

ALT+F11,在VBE窗口中插入模块,粘贴以下代码。

回到Excel界面,ALT+F8,运行下面这个宏。

Sub 这个宏()
Dim Arr, d As Object, Brr(), crr, sh As Worksheet
t = Timer
Arr = ActiveSheet.[a1].CurrentRegion
ReDim Brr(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
Set d = CreateObject("scripting.dictionary")
For i = 1 To UBound(Arr, 1)
    For j = 1 To UBound(Arr, 2)
        If Arr(i, j) <> "" Then d(Arr(i, j)) = ""
    Next j
    crr = d.keys
    For j = 0 To UBound(crr)
        Brr(i, j + 1) = crr(j)
    Next
    d.RemoveAll
Next i
Set sh = Worksheets.Add(after:=Worksheets(Worksheets.Count))
sh.Name = "去重结果"
sh.[a1].Resize(UBound(Arr, 1), UBound(Arr, 2)) = Brr
MsgBox "处理完成!用时" & Timer - t & "秒!"
End Sub

回答2:

这个问题用VBA应该容易一些,方便的话,发文件给我。我写个代码。