2014-10-24 2 views
0

Это не должно быть сложным кодом, но я новичок в Excel VBA. Я пробовал много разных методов, что приводило к ошибкам, бесконечным циклам и неправильным выборам.Найти дубликаты в столбце A, скопировать строку и удалить ее

Я разработал небольшой код, который находит дубликаты в столбце A и удаляет один из дубликатов.

Sub Statistique() 
    Dim LastRow As Long 
    Set x = ActiveWorkbook.Sheets("COPYRIGHT") 
    LastRow = Range("A65536").End(xlUp).Row 
    For x = LastRow To 3 Step -1 
If Application.WorksheetFunction.CountIf(Range("A3:A" & x), Range("A" & x).Text) > 1 Then 
         Range("A" & x).EntireRow.Delete 
        End If 
       Next x 

Теперь я хочу, чтобы улучшить код, путем копирования непустых ячеек строки Я хочу удалить и вставить их в строке Wich будет remaine. Это означает, что я хочу, чтобы непустые ячейки были скопированы сверху, в первой повторяющейся строке, в том же столбце, что и раньше.

Любая идея? Я знаю, что это кажется сложным, поэтому я просил вас заранее Спасибо-х

ответ

1

Попробуйте это:

Sub Statistique() 

    Dim rngColA As Range 

    Set rngColA = Worksheets("COPYRIGHT").Range("A1").EntireColumn 
    rngColA.RemoveDuplicates 1, xlGuess 

End Sub 

или

Sub Statistique2() 

    Dim rngColA As Range 

    Set rngColA = Worksheets("COPYRIGHT").Cells 
    rngColA.RemoveDuplicates 1, xlGuess 

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