VBA - все данные копируются вместо дублирующих данных - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть два листа в моей книге.* РЕДАКТИРОВАТЬ: я выяснил причину, почему запись не началась в B8.Мне нужно иметь заголовок.

Мастер лист

  1. имеет диапазон заголовков B7: Y7, записи начинаются с B8

Обновление листа Dups

  1. здесь будут скопированы и вставлены повторяющиеся данные из мастер-листа.
  2. имеет тот же диапазон заголовков, что и основной лист, и записи начинаются с B8

Я нашел здесь код и отредактировал его, чтобы он соответствовал моим данным, однако вместо того, чтобы только копироватьдубликаты данных, он копирует все данные.и удалите только один экземпляр дубликатов данных.(Пример: 4 дубликата, только удалить 1).порядок данных также инвертирован.

Sub tryagain()
Dim Rng As Range, i As Long
        Application.ScreenUpdating = False
        Set Rng = Range("B3:B" & Range("B" & Rows.Count).End(xlUp).Row)
        For i = Rng.Rows.Count To 1 Step -1
            If Application.WorksheetFunction.CountIf(Rng, Cells(i, "B")) > 1 Then
              lr = Sheets("Sheet2").Cells(Rows.Count, "B").End(xlUp).Row + 1
              Rows(i).EntireRow.Copy Destination:=Sheets("Sheet2").Range("A" & lr)
              'Rows(i).EntireRow.Delete
            End If
        Next i
        Application.ScreenUpdating = True
End Sub

Записи также не начинались на B8, как предполагалось.Я пробовал так много способов, и это кажется тупиком для меня.Любая помощь от вас очень ценится.

1 Ответ

0 голосов
/ 27 сентября 2018

Попробуйте сделать один шаг за раз:

  1. Объявите 2 диапазона (A и B)
  2. Скопируйте таблицу с первого листа на второй лист
  3. Установите данные из листа 1 для диапазона A, данные из листа 2 для диапазона B
  4. Удалите все дубликаты из A
  5. Удалите все не дубликаты от B
  6. Сортировка диапазонов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...