Есть выгрузка из 1С спецификаций на 48989 !!! строк.
На один продукт приходится от 3 до 50 спецификаций (столбец А) от разных дат (это цифры в названии спецификации в формате ггггммдд "Основная Крокодил / 20190101"). Нужно удалить строки старые по дате, оставив более "свежие", но чтобы не пострадали материалы в столбце В (в одной спецификации от 6 до 30).
Фея Добрая1, тогда еще - они отсортированы всегда ? т.е. всегда последней из повторений является нужным нам значением?
Код
Sub dsd3434()
Dim i As Long, lr As Long, cell As Range
lr = Cells(Rows.Count, 1).End(xlUp).Row
For i = lr To 4 Step -1
x = Left(Cells(i, 1), InStr(1, Cells(i, 1), "/") - 2)
If Application.WorksheetFunction.CountIfs(Range(Cells(i, 1), Cells(lr, 1)), "*" & x & "*", Range(Cells(i, 2), Cells(lr, 2)), Cells(i, 2)) > 1 Then
If cell Is Nothing Then
Set cell = Cells(i, 1)
Else
Set cell = Union(cell, Cells(i, 1))
End If
End If
Next i
If Not cell Is Nothing Then cell.EntireRow.Delete
End Sub