2013-02-10 2 views
1

У меня есть рабочий лист со многими строками идентификаторов.Excel VBA - избавиться от повторяющихся значений в определенном столбце

Я хотел бы знать лучший способ написать процедуру VBA, которая будет рассматривать диапазон значений в одном столбце и заменить весь диапазон только уникальными значениями, которые отображаются в этом диапазоне. Таким образом, столбец из 1000 идентификаторов может уменьшаться до столбца из 150 уникальных идентификаторов. Я бы не хотел, чтобы эта процедура влияла на данные в других столбцах на листе.

Так, скажем, начальный столбец А был:

*IDs* 
ID12 
ID12 
ID34 
ID56 
ID78 
ID78 
ID78 

Я хотел бы, чтобы заменить колонку с новой колонки А:

*IDs* 
ID12 
ID34 
ID56 
ID78 

Спасибо любезно.

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

ответ

1

Чтобы добиться того, что вы хотите, пожалуйста, сделайте следующее:

  1. Выберите весь столбец, который вы хотите удалить дубликаты из.
  2. Go Ribbon Data > Remove Duplicates.
  3. Комплект My data has headers (согласно вашему вводу).

Все готово. Если вы хотите выполнить эти шаги в VBA - включите макро-рекордер перед началом (нижний левый угол окна Excel).

+0

Привет, спасибо, но я понимаю, как это сделать вручную: /. Я пытаюсь писать в VBA, но использование макросъемщика не выполняет эту работу, если я хочу сделать эту же процедуру для нескольких столбцов различной длины. – user1893148

+0

@ user1893148 размер столбца не имеет значения, хотя диапазон может быть изменен. Макро-записанный код является хорошим началом для решения - все, что вам нужно, это добавить цикл. Однако, если вы склонны усложнять, а не упрощать, или, возможно, это для практики VBA - выбор ваш собеседник, удачи! –

Смежные вопросы