通过VBA在Excel中复制数据

时间:2015-03-03 19:05:04

标签: excel vba excel-vba

正如您所看到的,我将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

1 个答案:

答案 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替换为要复制或粘贴到的任何列。如果这不是你想要的,请详细说明你想要的东西。