0

これが私が達成したいことのより明確な説明であることを願っています。

値のみをコピーして貼り付けるだけで、操作が実行されました。マクロがプロセスを少しスピードアップすることを望んでいました。

基本的に、特定のワークブックの列 D からセル 2,4,6,8,10....48 をコピーし、2 番目のワークブックの列 J のセル 23,24,25....46 に値を貼り付けたい. 次のステップは、最初のワークブックの列 D からセル 3,5,7,9.....49 をコピーし、2 番目のワークブックの列 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 に答える