Thrashx666, Есть мнение, что все участники уже сочувствуют и по поводу наличия такой потребности, и по поводу 2х клавиатур. Пока не употребили третью ,уделите чуток времени правилам форума.
Thrashx666, а здесь Ваш рабочий файл не нужен, оставте несколько строк где есть повторения и потом покажите что вы хотите что б получилось из этих строк и все.
нужно сравнить фамилии в столбце В, если они повторяются то вся строка с 8 столбцами остается, а уникальные удаляются. Если есть макрос это было бы супер
Thrashx666, какой то странный подход у вас ну например встретилась у вас в тексте Хамидуллина Р.А. 3 раза т.е вы хотите чтоб 1 уникальная запись удалилась а 2 остались или все таки вы хотите оставить одну последнюю запись
Sub kk()
With Application: .ScreenUpdating = False: .Calculation = xlCalculationManual: .DisplayAlerts = False: End With
Dim rng As Range, dic
Set dic = CreateObject("Scripting.Dictionary")
For Each cl In Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row)
If dic.exists(cl.Value) Then
dic.Item(cl.Value) = 2
Else
dic.Add cl.Value, 1
End If
Next
For Each k In dic.keys
If dic.Item(k) = 1 Then dic.Remove k
Next
If AutoFilterMode = False Then Range("A1:H" & Cells(Rows.Count, "A").End(xlUp).Row).AutoFilter
Range("A1:H" & Cells(Rows.Count, "A").End(xlUp).Row).AutoFilter Field:=2, Criteria1:=Array(dic.keys), Operator:=xlFilterValues
Set rng = ActiveSheet.UsedRange.SpecialCells(12)
Worksheets.Add
rng.Copy Range("A1")
With Application: .ScreenUpdating = True: .Calculation = xlCalculationAutomatic: .DisplayAlerts = True: End With
End Sub
Имхо тут проще как уже подсказали применять счётесли(), фильтр/сортировку и руки, чем макрос, который 100% ещё придётся подгонять под рабочий файл, и вероятно ещё корректировать под каждый файл. Ну или нужно писать макрос, который работает с выделенным диапазоном, что в итоге будет не сильно отличаться от протягивания формулы.
В коде удаление под ноль не предусмотрено. Код надо вставить в общий модуль, запустить со страницы, где отбираете дубли Все цифры скопированные и вставленные до строки Sub kk удалить в модуле
4. Не рекомендуется 4.1. Создавать одинаковые темы или сообщения в разных форумах (cross-posting). Публикуя один и тот же вопрос в разных форумах и на дружественных сайтах вы заставляете сразу нескольких людей параллельно думать над вашей задачей и обесцениваете усилия тех, кто даст ответ вторым-третьим и т.д.