首頁>Program>source

我有一个包含两列的工作表:日期和名稱.我想删除所有重複的行,只保留唯一的值。

這是我的代碼(不起作用):

Sub DeleteRows()
Dim rng As Range
Dim counter As Long, numRows As Long
With ActiveSheet
    Set rng = ActiveSheet.Range("A1:B" & LastRowB)
End With
numRows = rng.Rows.Count
For counter = numRows To 1 Step -1
    If rng.Cells(counter) Like rng.Cells(counter) - 1 Then
        rng.Cells(counter).EntireRow.Delete
    End If
Next
End Sub

似乎是"類似rng.Cells(counter)-1"的原因-我收到"型別不匹配"。

最新回復
  • 1月前
    1 #

    有一个 RemoveDuplicates 您可以使用的方法:

    Sub DeleteRows()
        With ActiveSheet
            Set Rng = Range("A1", Range("B1").End(xlDown))
            Rng.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
        End With
    End Sub
    

  • 1月前
    2 #

    可以使用簡單的for迴圈删除任何列中的重複值。

    Sub remove()
    Dim a As Long
    For a = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
    If WorksheetFunction.CountIf(Range("A1:A" & a), Cells(a, 1)) > 1 Then Rows(a).Delete
    Next
    End Sub
    

  • 从問题傳遞到代碼的過程你是怎麼學的?
  • android:無法获得連線工厂客戶端-与Google Maps作战