私は初心者ですが、以下のコードがありますが、シートとペーストの最後の行がシート2の範囲にコピーされます。基本的に空の行は更新されません。また、実行時エラー1004 - アプリケーション定義またはオブジェクト定義エラーをスローします。どんな助けでも大歓迎です。1つのシートから特定の列をコピーして別の範囲の別のシートに貼り付けるにはどうすればいいですか?
Sub copypaste()
Dim lastrow As Long, erow As Long
lastrow = ThisWorkbook.Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow
Sheet1.Cells(i, 3).Copy
erow = ThisWorkbook.Worksheets("sheet2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Sheet1.Paste Destination:=Worksheets("Sheet2").Cells(erow, 2)
Sheet1.Cells(i, 14).Copy
Sheet1.Paste Destination:=Worksheets("Sheet2").Cells(erow, 4)
Sheet1.Cells(i, 6).Copy
Sheet1.Paste Destination:=Worksheets("Sheet2").Cells(erow, 3)
Next i
Application.CutCopyMode = False
ThisWorkbook.Worksheets("sheet2").Columns().AutoFit
Range("A1").Select
End Sub
これはシート1 sheet 1
であり、これはSheet2のであるとしましょう: sheet2:
ヘッダが命名して、わずかに異なっていて、位置変更もあります。シート1の最後の行が変更されます。
あなたはコードが何をしているか説明しましたが、あなたがしたいことを説明できますか?望ましい結果の一例もまた有用であろう。 –
@tim:私がしたいのは、シート1のペースト1からペースト2をシート2のコラム2にコピーし、コラム14をシート1からコピーしてシート2のコラム4に貼り付けることです。そして、私は両方のシートからヘッダーをコピーせずに同じことをしたい。最後に、マクロを実行すると、データが、シート1からシート2に、ヘッダーなしで、別の領域にコピーされます。これは助けて欲しい – Visa
@TimWilkinson質問を編集して詳細を追加しました – Visa