用EXCEL VBA在一定区域内删除重复值所在行只保留一个 EXCEL VBA删除重复内容,只保留一个重复内容(同时同列...

作者&投稿:锺陈 (若有异议请与网页底部的电邮联系)
Dim cel As Range, i As Integer
    For i = 1 To 100
        Set cel = Range("a" & i)
        If Application.WorksheetFunction.CountIf(Range(Range("a1:a100"), cel), cel) > 1 Then
            cel.EntireRow.Delete shift:=xlUp
            i = i - 1
        End If
    Next


excel vba ,excel表中A列有多个单元格值相同,则删除单元格所在行,且只保留这些相同值~

亲,是这个意思么?
打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧对应的Sheet上双击,右侧空白处粘贴下面的代码。关闭VBA窗口。然后按“Alt+F8”打开宏窗口,选择刚插入的宏,点击“执行”。




Sub sc()Dim dSet d = CreateObject("Scripting.Dictionary")Dim i, r As Longr = Cells(Rows.Count, "A").End(xlUp).RowFor i = r To 1 Step -1 d(Range("A" & i).Value) = d(Range("A" & i).Value) + 1 If d(Range("A" & i).Value) > 1 Then Rows(i).DeleteNextSet d = NothingEnd Sub

Sub xx() Dim d As Object Set d = CreateObject("scripting.dictionary") n = [c5:q8].Count For i = 1 To n If [c5:q8].Item(i) "" And Not d.Exists([c5:q8].Item(i).Value) Then d.Add [c5:q8].Item(i).Value, 1 End If Next [c5:q8].ClearContents k = d.keys For i = 0 To UBound(k) [c5:q8].Item(i + 1) = k(i) Next Set d = NothingEnd Sub