将值从一个工作表复制到另一个工作表并删除重复项?

时间:2016-02-26 18:05:46

标签: excel-vba vba excel

您好我正在尝试将一张纸的列与另一张相等,而不使用复制和粘贴认为这会更快运行。然后我试图删除新工作表列中的重复值。我的代码有效,但由于数据太多,所以很慢!

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("COMP29")
ws.Columns(15).Copy Destination:=Sheets("TEMPLIST1").Columns(1)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Remove Duplicates, Sort, and Name Temp Worksheet
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Dim LastRow As Long

'Name
ActiveSheet.Name = "TEMPLIST1"

'Remove Duplicates
With ActiveSheet
    LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
    .Range("A1:B" & LastRow).RemoveDuplicates Columns:=Array(1, 1), Header:=xlYes
End With

有没有更有效的方法来实现这一目标?使用唯一列表,我在DropButtonClick上填充了一个ComboBox。谢谢!

1 个答案:

答案 0 :(得分:0)

这是执行操作的最快方式,它应该是快速的 - 我只能认为您的列表中有公式(或引用您的列表)并且它们正在减慢速度。尝试关闭自动计算并查看是否可以改善这种情况(在删除重复项后不要忘记将它们重新打开!)