1

我正在努力解决这个宏。我有两张床单;一个具有大量数据的数据集,这些数据由宏针对多个日期进行更新。

我想将数据从该工作表(“rawdata1”)复制到另一个工作表(“sheet1”),但前提是数据不存在(不希望“sheet1”上有多个相同数据条目)。我将数据复制到另一张表没有问题,但是当宏运行多次时,如何避免重复条目?

我到目前为止的代码:

Sub CopyData()
'Copy data if not present in other sheet
'???

Sheets("rawdata1").Select
Range("A4:AC10000").Select
Range("A4:AC10000").Copy

Sheets("Sheet1").Select
  ' Find the last row of data
  FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
  ActiveSheet.Paste
  Sheets("Sheet1").Select

谢谢您的帮助!

4

1 回答 1

5

您的代码可以简化为:

Sheets("rawdata1").Range("A4:AC10000").Copy _
      Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Offset(1,0)    
Sheets("Sheet1").Select

至于防止同一行的多个副本,如果您在 Excel 2007+ 中,则可以在运行副本后使用 RemoveDuplicates:这会将范围缩小到仅唯一行。注意:您需要调整Columns参数以包含所有相关的列号。

ActiveSheet.UsedRange("$A$1:$E$8").RemoveDuplicates _
    Columns:=Array(1, 2, 3, 4, 5), Header:=xlYes 'or xlNo, depending on your data
于 2012-08-31T22:27:37.690 回答