2016-09-16 84 views
0

我目前正在工作表1和工作表2之間移動數據。工作表1包含項目的平均值。 BN/BO列包含平均值。它通過論壇而不是平均數量。任何解決這個使用我使用的方法而不使用像=Sheet2!B2這樣的新方法?將數據從工作表1移動到工作表2

Dim Lastrow2 As Integer 
Lastrow2 = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 

Sheets("Sheet1").Range("K4:K" & Lastrow2).Copy Sheets("Sheet2").Range("B2") 
Sheets("Sheet1").Range("C4:C" & Lastrow2).Copy Sheets("Sheet2").Range("A2") 
Sheets("Sheet1").Range("BN4:BN" & Lastrow2).Copy Sheets("Sheet2").Range("C2") 
Sheets("Sheet1").Range("BO4:BO" & Lastrow2).Copy Sheets("Sheet2").Range("D2") 
Sheets("Sheet2").Range("A2:D" & Lastrow2).RemoveDuplicates Columns:=Array(1, 2, 3, 4), Header:=xlNo 
+2

考查PasteSpecial的 –

+3

只需設置兩個範圍等於'範圍(在我想要複製數據[範圍**至**)。值=範圍([其中欲**從複製數據範圍** ).Value'。這也有助於你避免使用剪貼板。 – BruceWayne

+0

@BruceWayne的方法也是我會推薦的。這是一個很好的練習。 – puzzlepiece87

回答

2

我建議改變你的方法因爲性能原因(避免剪貼板是更好的性能),但如果你想用同樣的方法,你可以使用.PasteSpecial xlPasteValues

Sheets("Sheet1").Range("K4:K" & Lastrow2).Copy Sheets("Sheet2").Range("B2").PasteSpecial xlPasteValues 
Sheets("Sheet1").Range("C4:C" & Lastrow2).Copy Sheets("Sheet2").Range("A2").PasteSpecial xlPasteValues 
Sheets("Sheet1").Range("BN4:BN" & Lastrow2).Copy Sheets("Sheet2").Range("C2").PasteSpecial xlPasteValues 
Sheets("Sheet1").Range("BO4:BO" & Lastrow2).Copy Sheets("Sheet2").Range("D2").PasteSpecial xlPasteValues 
相關問題