Использование макроса происходит медленным способом и быстрым способом для этого. Если вы знаете, что каждый элемент в первом столбце будет иметь форму «ID somenumber», мы можем использовать быстрый метод. Если нет, то должен использоваться медленный метод (проверяющий каждую строку в каждой строке). Я включил код для быстрого метода ниже
Sub RemoveDuplicates()
Dim IDVals As Object, RowsToDelete As String, ItemsToDelete As String
Set IDVals = CreateObject("Scripting.Dictionary")
Dim CheckCell As Range
For Each CheckCell In ActiveSheet.Range(Cells(1, 1), Cells(ActiveSheet.UsedRange.Rows.Count, 1))
If Not IDVals.Exists(CheckCell.Value) And Not IsEmpty(CheckCell) Then
IDVals.Add (CheckCell.Value), CheckCell.Address
Else
If ActiveSheet.Range(Cells(1, 1), Cells(ActiveSheet.UsedRange.Rows.Count, 1)).Offset(0, 1).Value = CheckCell.Value Then
RowsToDelete = RowsToDelete & CheckCell.Row & ","
ItemsToDelete = ItemsToDelete & CheckCell.Value & ","
End If
End If
Next CheckCell
RowsToDelete = Left(RowsToDelete, Len(RowsToDelete) - 1) 'Removing last comma
Dim ParsedText() As String, Count As Integer, DeleteRange As Range
Elements = Len(RowsToDelete) - Len(Replace(RowsToDelete, ",", "")) 'Array of the length of elements
ReDim ParsedText(Elements)
ParsedText = Split(TextBox1.Value, ",")
DeleteRange = Range(Cells(Val(ParsedText(0)), 1).Address).EntireRow
For Count = 1 To Elements
DeleteRange = Union(DeleteRange, Range(Cells(Val(ParsedText(Count)), 1).Address).EntireRow)
Next Count
DeleteRange.Delete
Dim IdValkey As String
'eliminating first instance of repeated value
For Each IdValkey In Split(Left(ItemsToDelete, Len(ItemsToDelete) - 1), ",")
For Count = ActiveSheet.Range(Cells(1, 1), Cells(ActiveSheet.UsedRange.Rows.Count, 1)) To 1
If Cells(Count, 1).Value = IdValkey Then
Range(Cells(Count, 1).Address).EntireRow.Delete
End If
Next Count
Next IdValkey
End Sub
Выбор столбца A и B, выберите Data> Удалить Дубликаты – MutjayLee
Но эта функция будет оставить первый один ряд, не правда ли ?. – Edoras
Эта функция будет удалять только одно данные каждого типа и удалять все. Делает все данные уникальными. – MutjayLee