2016-09-16 80 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 
相关问题