Страницы: 1
RSS
Как удалить дубли в колонке, Как удалить дубли в колонке
 
Доброго времени суток. подскажите макрос для удаления в колонке дубликатов Email адресов.
Нужно, чтобы при выделение столбца макрос удалял дубли Email адресов по строчно, оставляя только первый.
формат остается такой же без удаления ячеек и смещение строк, удаление только дублей по строчно. скрин и пример приложил.
Изменено: sotex2 - 29.11.2023 01:54:23
 
Цитата
sotex2 написал:
макрос для удаления в колонке дубликатов Email адресов
Скрытый текст
Изменено: Sanja - 29.11.2023 07:53:07
Согласие есть продукт при полном непротивлении сторон
 
sotex2, Ещё вариант
Код
Sub test()
Dim lrow As Long, arrMail, key, strMail As String, dicTemp As Object
Application.ScreenUpdating = False
lrow = Cells(2, "E").End(xlDown).Row
Set dicTemp = CreateObject("Scripting.Dictionary")
For i = 2 To lrow
    arrMail = Split(Trim(Replace(Cells(i, "E"), ", ", " ")), " ")
    For j = 0 To UBound(arrMail)
        If Not dicTemp.Exists(arrMail(j)) Then
            key = dicTemp.Item(arrMail(j))
            strMail = strMail & arrMail(j) & ", "
        End If
    Next j
    If Len(strMail) > 0 Then Cells(i, "E") = Left(strMail, Len(strMail) - 2) Else Cells(i, "E") = ""
    strMail = ""
Next i
arrMail = Split(Trim(Replace(Cells(2, "E"), ", ", " ")), " ")
Application.ScreenUpdating = True
End Sub
Изменено: Александр П. - 29.11.2023 04:42:01
 
Здравствуйте, спасибо за отклик. в целом макрос работает, но есть небольшой трабл.

1. это когда после выполнения макроса, в конце емайл адреса остается запятая.
2. можно ли сделать выбор по выбору колонки, чтобы каждый раз не лезть в код и постоянно изменять название колонки.
 
Цитата
написал:
Изменено: Sanja  - 29.11.2023 07:53:07
Здравствуйте, спасибо за отклик. в целом макрос работает, но есть небольшой трабл.

1. это когда после выполнения макроса, в конце емайл адреса остается запятая.
2. можно ли сделать выбор по выбору колонки, чтобы каждый раз не лезть в код и постоянно изменять название колонки.
 
Цитата
sotex2 написал:
2. можно ли сделать выбор по выбору колонки, чтобы каждый раз не лезть в код и постоянно изменять название колонки.
Скрытый текст
Согласие есть продукт при полном непротивлении сторон
 
Окошко с выбором колонки выводится и после выбора, дубли не удаляются. как быть?
 
Цитата
sotex2 написал:
как быть?
На Вашем файле-примере ошибка не воспроизводится. Как быть?
Согласие есть продукт при полном непротивлении сторон
 
Цитата
написал:
На Вашем файле-примере ошибка не воспроизводится. Как быть?

Прикрепленные файлы
пример файла 2.xlsm  (16.56 КБ)

в вашем прикрепленном файле окошко для выбора появляется, и после выбора дубли не удаляются.
 
Удалите или закомментируйте строку
Код
On Error resume next
и напишите на какой строке кода возникает ошибка
Согласие есть продукт при полном непротивлении сторон
 
Цитата
написал:
Удалите или закомментируйте строку КодOn Error resume next и напишите на какой строке кода возникает ошибка

После выбора колонки и запуска, никакая ошибка не появляется, остается все по прежнему без удаления дублей.
если удалить - "On Error resume next", то после запуска макроса выводится ошибка, смотрите скрин 1.
 
Проблема, возможно, такая-же, как в этой теме?
Код ниже работает с ВЫДЕЛЕННЫМ столбцом (или ячейкой в нужном столбце). Выделить весь столбец (или встать на любую ячейку в нужном столбце) и запустить макрос. Запятые тоже удаляет
Скрытый текст
Изменено: Sanja - 30.11.2023 04:49:01
Согласие есть продукт при полном непротивлении сторон
Страницы: 1
Наверх