0
您好我想作一個表的列等於另一個的不使用複製和粘貼認爲這將運行得更快。然後,我試圖刪除新工作表的列中的重複值。我的代碼有效,但由於數據太多,所以速度很慢!將值從一張紙複製到另一張並刪除重複項?
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。謝謝!
我有計算手冊。我會繼續審查。我不確定爲什麼它很慢。大概需要5-15秒,我會想。我想它會延遲1-2秒。 – Chris2015
唯一的其他建議我能想到的是片材( 「templist」)範圍內。( 「A1:B」 &LASTROW)。價值=片材( 「comp29」)範圍內。( 「A1:B」 &LASTROW)。價值。這是不值得的算法要經過和重複檢查,並複製每一個新的項目,如微軟的內置函數總是會更快。 – ninjaRoche
謝謝。我使用.value = .value並花費了一些東西! – Chris2015