Макросъемка Excel - удаление дубликатов в столбце - PullRequest
1 голос
/ 13 марта 2019

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

Любая помощь с нижеприведенным будет высоко ценится, потому что я сейчас на 60 столбцах и мне нужно добавить еще 40...

Спасибо

Sheets("Result").Select
Columns("A:A").Select
ActiveSheet.Range("$A$1:$A$100000").RemoveDuplicates Columns:=1, Header:=xlNo
Columns("B:B").Select
ActiveSheet.Range("$B$1:$B$100000").RemoveDuplicates Columns:=1, Header:=xlNo
Columns("C:C").Select
ActiveSheet.Range("$C$1:$C$100000").RemoveDuplicates Columns:=1, Header:=xlNo
Columns("D:D").Select
ActiveSheet.Range("$D$1:$D$100000").RemoveDuplicates Columns:=1, Header:=xlNo
Columns("E:E").Select
ActiveSheet.Range("$E$1:$E$100000").RemoveDuplicates Columns:=1, Header:=xlNo
Columns("F:F").Select
ActiveSheet.Range("$F$1:$F$100000").RemoveDuplicates Columns:=1, Header:=xlNo

Ответы [ 3 ]

1 голос
/ 13 марта 2019

Будет выполнено удаление дубликатов столбец за столбцом:

Sub Kleanup()
    For i = 1 To Columns.Count
        Columns(i).Cells.RemoveDuplicates Columns:=1, Header:=xlNo
    Next i
End Sub
1 голос
/ 13 марта 2019

Это будет работать, если вы заботитесь только о дубликатах в столбце.

Sub RemoveDuplicates()
    'Stop the screen from updating to reduce lag
    Application.ScreenUpdating = False

    'Main loop
    For i = 1 To 100
        ActiveWorkbook.Sheets("Result").Columns(i).RemoveDuplicates Columns:=1, Header:=xlNo
    Next

    'Reset ScreenUpdating
    Application.ScreenUpdating = True
End Sub
0 голосов
/ 13 марта 2019

Вам нужен цикл!

Sub RemoveDuplicates()
    Dim TargetSheet As Worksheet
    Set TargetSheet = ActiveWorkbook.Worksheets("Result")
    For i = 1 To 100
        TargetSheet.Cells(1, i).EntireColumn.RemoveDuplicates Columns:=1, Header:=xlNo
    Next i
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...