将数据从工作表1移动到工作表2
问题描述:
我目前正在工作表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
答
我建议改变你的方法因为性能原因(避免剪贴板是更好的性能),但如果你想用同样的方法,你可以使用.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
考查PasteSpecial的 –
只需设置两个范围等于'范围(在我想要复制数据[范围**至**)。值=范围([其中欲**从复制数据范围** ).Value'。这也有助于你避免使用剪贴板。 – BruceWayne
@BruceWayne的方法也是我会推荐的。这是一个很好的练习。 – puzzlepiece87