Excel Макрос массового удаления дубликатов в одном столбце в череде многих - VBA
Формулировка задачи:
Добрый день, вчера весь день искал себе подходящий способ решения своей задачи, но так и не нашел подходящий.
Прошу Вас помочь мне.
В приложенном Excel файле 2 таблицы:
Левая - исходные данные
Правая - какой должен получиться результат
Задача - сразу в нескольких колонках, удалить все дубликаты находящиеся только в одном столбце.
То есть если в одном столбце дважды (или несколько раз) попадается цифра "4" - то именно в этом столбце должна остаться только одна цифра "4".
Например: У нас в одном столбце восемь цифр: 1 2 3 4 1 2 3 4
Мы видим, что здесь последние четыре цифры 1 2 3 4 - дублируются, то есть на выходе должны остаться только первые четыре цифры 1 2 3 4
Я нашел пару макросов, как удалить дубликаты во всех столбцах, а не только в одном - и это не подходит.
Например: У нас есть два столбца:
1....5
2....6
3....5
4....6
1....1
2....2
3....3
4....4
То есть, на выходе должно получиться:
1.....5
2.....6
3.....1
4.....2
.......3
.......4
То есть, в первом столбце были удалены дублирующиеся последние четыре цифры (1 2 3 4), а во втором столбце дублирующиеся вторая и третья цифры (5 6).
Вот тут важно то, что во втором столбце последние цифры 1 2 3 4 - не дубликаты потому, что во втором столбце нет повторяющихся цифр 1 2 3 4.
Во втором столбце дублируются лишь 5 и 6.
А мои макросы оказывается удаляют дубликаты не в отдельном одном столбце из всей массы столбцов, а во всех столбцах сразу - виртуально объединив их в один.
Где в результате из нашего примера получается следующее:
1....5
2....6
3
4
Хотя, мне не нужно было, чтобы макрос удалял во втором столбце последние четыре цифры 1 2 3 4.
Решение задачи: «Excel Макрос массового удаления дубликатов в одном столбце в череде многих»
textual
Листинг программы
Private Sub Test() Application.ScreenUpdating = False With ActiveSheet.UsedRange For iColumn& = .Columns.Count To 1 Step -1 .Columns(iColumn&).RemoveDuplicates 1, xlNo Next End With Application.ScreenUpdating = True End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д