Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Обратное удаление дублей RemoveDuplicates - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Обратное удаление дублей RemoveDuplicates (Макросы/Sub)
Обратное удаление дублей RemoveDuplicates
emkub Дата: Понедельник, 23.04.2018, 11:55 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 171
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте!

Подскажите пожалуйста, как заставить команду [vba]
Код
RemoveDuplicates
[/vba] работать не сверху вниз, а на оборот? Т.е. удалять не нижние дубли, а верхние.
Если конечно это возможно.


Сообщение отредактировал emkub - Понедельник, 23.04.2018, 11:55
 
Ответить
СообщениеЗдравствуйте!

Подскажите пожалуйста, как заставить команду [vba]
Код
RemoveDuplicates
[/vba] работать не сверху вниз, а на оборот? Т.е. удалять не нижние дубли, а верхние.
Если конечно это возможно.

Автор - emkub
Дата добавления - 23.04.2018 в 11:55
SLAVICK Дата: Понедельник, 23.04.2018, 12:34 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
работать не сверху вниз, а на оборот?

Макрос писать нужно, или :
добавить временный столбец с формулой:
Код
Строка(a1)

вставить значения
Отсортировать по убыванию
удалить дубликаты
Отсортировать по возрастанию


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
работать не сверху вниз, а на оборот?

Макрос писать нужно, или :
добавить временный столбец с формулой:
Код
Строка(a1)

вставить значения
Отсортировать по убыванию
удалить дубликаты
Отсортировать по возрастанию

Автор - SLAVICK
Дата добавления - 23.04.2018 в 12:34
emkub Дата: Понедельник, 23.04.2018, 12:40 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 171
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
ясно, "малой кровью" не обойтись.
Благодарю за ответ.
 
Ответить
Сообщениеясно, "малой кровью" не обойтись.
Благодарю за ответ.

Автор - emkub
Дата добавления - 23.04.2018 в 12:40
_Boroda_ Дата: Понедельник, 23.04.2018, 17:02 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16672
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Если убирать дубли не из большого количества столбцов, то можно словарем
[vba]
Код
Sub tt()
    Set slov = CreateObject("Scripting.Dictionary")
    With Range("Diap_")
        For Row = 1 To .Rows.Count
            Key = .Cells(Row, 1).Value
            Item = .Cells(Row, 2).Value
            slov.Item(Key) = Item 'при совпадении первое значение заменяется вторым
        Next
    End With
End Sub
[/vba]
Если много, то в Итем можно собирать остальные столбцы, а потом их разбирать.
Но способ Славика мне больше нравится, я и сам им иногда пользуюсь


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕсли убирать дубли не из большого количества столбцов, то можно словарем
[vba]
Код
Sub tt()
    Set slov = CreateObject("Scripting.Dictionary")
    With Range("Diap_")
        For Row = 1 To .Rows.Count
            Key = .Cells(Row, 1).Value
            Item = .Cells(Row, 2).Value
            slov.Item(Key) = Item 'при совпадении первое значение заменяется вторым
        Next
    End With
End Sub
[/vba]
Если много, то в Итем можно собирать остальные столбцы, а потом их разбирать.
Но способ Славика мне больше нравится, я и сам им иногда пользуюсь

Автор - _Boroda_
Дата добавления - 23.04.2018 в 17:02
emkub Дата: Понедельник, 23.04.2018, 17:26 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 171
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Значений в таблице от 16 000 до 50 000. Не знаю, много это или не очень. Столбцов - 4.
Для себя сделал заметку: сделать дополнительный пронумерованный столбец (1,2,3,4,5......), его легко перевернуть, удалить дубли и перевернуть обратно. Вполне возможно, что Славик это и предлагал.
Но в макрос пока ещё это не воплощал.
И кажется, что способ со словарём будет более корректным.
 
Ответить
СообщениеЗначений в таблице от 16 000 до 50 000. Не знаю, много это или не очень. Столбцов - 4.
Для себя сделал заметку: сделать дополнительный пронумерованный столбец (1,2,3,4,5......), его легко перевернуть, удалить дубли и перевернуть обратно. Вполне возможно, что Славик это и предлагал.
Но в макрос пока ещё это не воплощал.
И кажется, что способ со словарём будет более корректным.

Автор - emkub
Дата добавления - 23.04.2018 в 17:26
_Boroda_ Дата: Понедельник, 23.04.2018, 17:53 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16672
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Сколько в высоту - это без разницы (в особенности для словаря). Для словаря важно сколько в ширину и по скольким столбцам удаляем дубликаты. В идеале - если по всем, тогда Итемы вообще не нужны.

И да, Славик именно об этом говорил (а я поддакивал)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеСколько в высоту - это без разницы (в особенности для словаря). Для словаря важно сколько в ширину и по скольким столбцам удаляем дубликаты. В идеале - если по всем, тогда Итемы вообще не нужны.

И да, Славик именно об этом говорил (а я поддакивал)

Автор - _Boroda_
Дата добавления - 23.04.2018 в 17:53
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Обратное удаление дублей RemoveDuplicates (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!