0

我希望这是对我想要实现的目标的更清晰的描述。

我只是做了一个复制和粘贴值,它为我做了操作。我希望一个宏可以加快这个过程。

本质上,我想从特定工作簿中的 D 列复制单元格 2,4,6,8,10....48 并将值粘贴到第二个工作簿中 J 列中的单元格 23,24,25....46 . 下一步是从第一个工作簿的 D 列复制单元格 3,5,7,9.....49,并将值仅粘贴到第二个工作簿 X 列的单元格 23,24,25....46工作簿。

显然我可以复制和粘贴这些,但我有成千上万的事情要做,并且希望宏可以提供帮助。

4

1 回答 1

0

这可能会有所帮助:

Sub CopyColumn()
Dim i As Long, k As Long, wb1 As Workbook, wb2 As Workbook
Dim columnD As Long, columnJ As Long, columnX As Long
Set wb1 = Workbooks("workbook1.xls") ' replace it with the actual name
Set wb2 = Workbooks("workbook2.xls") ' replace with the actual name
columnD = Range("D1").Column
columnJ = Range("J1").Column
columnX = Range("X1").Column
k = 23
For i = 2 To 49 Step 2
    wb2.Sheets("Sheet1").Cells(k, columnJ) = wb1.Sheets("Sheet1").Cells(i, columnD)
    wb2.Sheets("Sheet1").Cells(k, columnX) = wb1.Sheets("Sheet1").Cells(i + 1, columnD)
    k = k + 1
Next i
End Sub

这就是你所要求的。但是您必须替换工作簿的名称,并最终替换工作表的名称。我已经用一些随机数据对其进行了测试,它确实有效。

于 2013-06-21T08:38:00.137 回答