Консультация № 178131
30.04.2010, 17:16
0.00 руб.
0 5 0
Добрый день.

Мне нужно сделать програмку в excel.
Значит так: в 1 столбце есть много числовых записей (ЕСТЬ одинаковые). Нужно сделать так чтобы этот столбец копировался в соседний столбец (можно через 1, 2, главное чтоб был на этом же листе), и из этого копированного столбца удалялись одинаковые числа, а старый столбец остался не тронутым. Т.е. нажал на кнопку->появился рядом второй столбец без одинаковых записей.

Помогите пожайлуста.

Обсуждение

Неизвестный
30.04.2010, 17:30
общий
Код:
    Range("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("B:B"), Unique:=True
давно
Модератор
137394
1850
30.04.2010, 23:35
общий
HookEst:
Извините, поначалу восхитился Вашим предложением в минифоруме, но затем после тестирования понял, что этот способ не универсален. Если заполненный столбец начинаются не с a1 Ваше предложение не отработает. Причем первым в столбце должен быть заголовок. Как улучшенная альтернатива указывать диапазон в виде, например, Range("A5:A65536"), причем в А5 должен быть непустой заголовок и не данное для упорядочивания.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
01.05.2010, 07:27
общий
Megaloman:
Это собственно и не способ, это только строка сгенерированая "записывальщиком макросов"...
Задача почти полностью описывает возможности, предоставляемые "Расширенным фильтром"... Использовать что-то другое для отбора уникальных значений, в 90% случаях, ИМХО, не стОит.
Неизвестный
01.05.2010, 11:03
общий
smen300:
Selection.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Selection.Offset(0, 1), Unique:=True

вроде работает в любом случае. Единственное требование должен быть выделен либо нужный столбец, либо только сам числовой ряд. Помещаю пока тут, потестируйте, если удовлетворит, тогда сделаю ответом.
давно
Модератор
137394
1850
01.05.2010, 12:04
общий
Вот статья на эту тему
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа