正如您所看到的,我将4列数据从一个工作簿复制到另一个工作簿。我被困在一个目的地有8列,我的区域是1,2,5,7的情况下。你能告诉我代码中的一些变化吗?下面的内容仅适用于前4列。谢谢。
Sub Copymc()
Dim x As Workbook
Dim y As Workbook
Dim rng As Range
Set x = Workbooks.Open("H:\testing\Q4 2014\US RMBS Q4.xlsx")
Set y = Workbooks.Open("H:\testing\demo\test1.xlsx")
Dim LastRow As Long
Dim NextRow As Long
x.Worksheets("RL Holdings").Activate
Range("A65536").Select
ActiveCell.End(xlUp).Select
LastRow = ActiveCell.Row
Range("A2:D" & LastRow).Copy
y.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 0)
Application.CutCopyMode = False
End sub
答案 0 :(得分:0)
行范围(" A2:D"& LastRow).Copy将D列硬编码到其中。这意味着它将始终将A2复制到D65536。如果你想要特定的列(A,B,E,G),那么我建议你只需重复每列的代码。
例如
Range("A65536").Select
ActiveCell.End(xlUp).Select
Selection.Copy
y.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
然后复制代码四次并将A替换为要复制或粘贴到的任何列。如果这不是你想要的,请详细说明你想要的东西。