VBA-复制所有数据,而不是复制数据

时间:2018-09-27 06:50:36

标签: excel vba excel-vba

我的工作簿中有两张纸。 *编辑:我想出了为什么唱片没有从B8开始的原因。我需要标题。

主表

  1. 标头范围为B7:Y7,记录从B8开始

更新复制表

    来自主表的
  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 :(得分:0)

尝试一次执行一个步骤:

  1. 声明2个范围(A和B)
  2. 将表格从第一张纸复制到第二张纸
  3. 将工作表1的数据设置为范围A,工作表2的数据设置为范围B
  4. Remove all duplicates来自A
  5. Remove all non duplicates来自B
  6. 排序范围