2015-10-30 3 views
-1

Здесь очень много решений, которые очень близки, но все, что я могу найти, имеет уникальный список, направляющийся в заранее установленное место.Скопируйте уникальный список в любое место

Пример данных

животных
Собака
Собака
Cat
Duck
гусь
Duck
Cat
Duck

Я хочу, чтобы иметь возможность захватить этот список (колонка заголовок включен) со стандартным Ctrl + C, go в другое место, запустить макрос и иметь его вставить уникальный список в пределах требуемого поэтому я хотел бы получить:

животное
Собака
Cat
Duck
гусь

Пробовал с помощью записи макросов и разбор релевантных частей, но без кубиков, а в коде генерируются ссылки для конкретных ячеек, которые я слишком разбираюсь в noob, чтобы выяснить, как их заменить. Я хочу, чтобы это работало динамически независимо от местоположения на любом листе, например, команды «вставить уникальную» с тем, что я уже выбрал.

Чтобы уточнить, было бы здорово, если бы я мог вставить уже не дублируемый список в текущее местоположение. Основная идея заключалась бы в том, чтобы захватить столбец из 400 строк данных, вставить уникальный список его значений в другое место и затем начать создавать сводные таблицы (подсчеты, суммы и т. Д.) С использованием этого списка.

Также я использую Excel 2010.

Добавление кода макросов записанных ниже:

Sub Macro6() 
' Macro6 Macro 
    Range(Selection, Selection.End(xlDown)).Select 
    Selection.Copy 
    Range("A2").Select 
    Selection.End(xlDown).Select 
    Range("A438").Select 
    ActiveSheet.Paste 
    Application.CutCopyMode = False 
    ActiveSheet.Range("$A$438:$A$866").RemoveDuplicates Columns:=1, Header:= _ 
     xlYes 
End Sub 
+0

Пожалуйста, пост код, который вы записали. Это помогает нам понять, что вы что-то пробовали, но также позволяет нам редактировать ваш код и делать некоторые комментарии, чтобы помочь вам научиться избегать использования ссылок на ячейки. – BruceWayne

ответ

0

Я хочу, чтобы иметь возможность захватить этот список (заголовок колонки в комплекте) с стандартом Ctrl + C, перейдите в другое место, запустить макрос и он вставить уникальный список в диапазон требуется

Я предполагаю, что это специальный макрос для вставки должны делать то, что вы хотите, если предположить, что данные на одной колонке:

Sub PasteAndRemoveDuplicates() 
    Selection.Parent.Paste 
    Selection.RemoveDuplicates 1 
End Sub 
+0

Я получаю сообщение об ошибке: «Вставить метод класса Worksheet не удалось» – Crazysasman

+0

@Crazysasman, чтобы он работал, вы должны выбрать некоторый диапазон с помощью Ctrl + C и его «мигать», затем перейти в другое место и выбрать его (пока оригинал все еще мигает), а затем выполните макрос. –

+0

Я хочу избежать выбора чего-либо для вставки - я не знаю, насколько велика будет уникальный список, поэтому я не знаю, что выбрать. Я просто хочу, чтобы он попал в лист, начинающийся с заголовка столбца, в любой ячейке, выбранной в настоящий момент. – Crazysasman

1

Вот процедура VBA для этого.

Поместите рутину в стандартный модуль кода.

Sub Crazy() 
    With Selection.CurrentRegion 
     If .Count > 1 Then 
      .RemoveDuplicates 1 
     End If 
    End With 
End Sub 

Теперь ...

Скопируйте список животных и вставить его там, где вам нравится.

Выберите хотя бы одну из ячеек в списке.

Запустите сумасшедшую процедуру из диалога макросов (Control-F8).

Все.

+0

Кажется, что фильтр только отфильтровывает список - если я что-то копирую и пытаюсь перейти на другой лист или область того же листа и вызвать макрос, он просто возвращает одиночные пустые ячейки *** edit *** извините - я вижу теперь все, что мне нужно сделать, это вставить его первым. Я могу, вероятно, выяснить, как добавить эту часть в макрос. – Crazysasman