Excel vbaを使用してからデータをコピーしたいあるワークブックから別のワークブックへの特定の列。たとえば、ワークブック1のA、B、E、G、H、M、N列をA2からワークブック2にコピーします。
現在、私はこの例を使用していますが、「マクロに作用させたいという目的には役立ちません。現在使用しているコードを以下に含めました。」
Sub SO()
Dim lastRow As Long
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Workbooks("workbook1.xlsm").WorkSheets("Sheet1")
Set ws2 = Workbooks("workbook2.xlsm").WorkSheets("Sheet1")
lastRow = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row
ws1.Range(Cells(2, 1), Cells(lastRow, 1)).Copy
ws2.Range("C2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
助けてください。前もって感謝します。
回答:
回答№1は0説明と例を示します。
あなたが使う
ws1.Range(Cells(2, 1), Cells(lastRow, 1)).Copy
^ ^
| |
Column 1 Column 1
そのため、行2と最後の行の間の範囲を列1から列1にコピーします。
それを変更すると
ws1.Range(Cells(2, "A"), Cells(lastRow, "C")).Copy
行2と最後の行の間の列AからD(A、B、C、D)の範囲をコピーします。
上記の例で列Bが必要ない場合は、2つのコピー/貼り付けアクションで列Aと列C + Dを個別にコピーして貼り付ける必要があります。