- ベストアンサー
マクロでコピー貼り付けやってみたいのですが。
- マクロ初心者が、既存のExcelの機能ではできないことをマクロで実現したいと思っています。
- 具体的には、sheet1のE2:J1109のデータをコピーして、sheet2のE3:J1110に貼り付けたいです。
- また、コピーの際には最終行を取得し、その行までのデータを貼り付けたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>sheet1のE2:J1109の範囲のデータをコピーしての別sheet2のE3:J1110の範囲に貼り付けたい。 Sub Test01() Sheets("Sheet1").Range("E2:J1109").Copy Sheets("Sheet2").Range("E3") Application.CutCopyMode = False End Sub >最終行の取得のコードの書き方が分からない Sheet2のE列の最終行の次の行に貼り付けるのなら Sub Test02() Dim LastRow As Long 'Sheet2のE列の最終行を取得 LastRow = Sheets("Sheet2").Cells(Rows.Count, "E").End(xlUp).Row + 1 Sheets("Sheet1").Range("E2:J1109").Copy Sheets("Sheet2").Cells(LastRow, "E") Application.CutCopyMode = False End Sub
その他の回答 (1)
- watabe007
- ベストアンサー率62% (476/760)
> sheet1のE2:J1109の範囲のデータをコピーしての別sheet2のE3:J1110の範囲に貼り付けたい。 Sub Test03() Sheets("Sheet1").Range("E2:J1109").Copy Sheets("sheet2").Range("E3").PasteSpecial Application.CutCopyMode = False End Sub Sheet2の最終行に貼り付け Sub Test04() Sheets("Sheet1").Range("E2:J1109").Copy Sheets("sheet2").Cells(Rows.Count, "E").End(xlUp).Offset(1).PasteSpecial Application.CutCopyMode = False End Sub コピーではなく値だけを転記 Sub Test05() Sheets("Sheet2").Range("E3:J1110").Value = Sheets("Sheet1").Range("E2:J1109").Value End Sub >sheet1のE2:J1109のところも最終行をとるようにすることは、おかしいことなのでしようか。 おかしくはないでしょう、普通、最終行は決まっていない方が多いでしょう Sub Test6() 'Sheet1のE2から最終行までをコピー With Sheets("Sheet1") .Range("E2:J" & .Cells(Rows.Count, "E").End(xlUp).Row).Copy End With 'Sheet2のE列の最終行の次の行に貼付け Sheets("Sheet2").Cells(Rows.Count, "E").End(xlUp).Offset(1).PasteSpecial Application.CutCopyMode = False End Sub
お礼
ありがとうございました。勉強になりました。今後もよろしくお願いします。 最終行のこと、なるぼど決まっていない方が多いですね。わかりました。
お礼
お礼のコメントの位置を間違えました。すみません。ありがとうございました。勉強になりました。今後もよろしくお願いします。 最終行のこと、なるぼど決まっていない方が多いですね。わかりました。
補足
ありがとうございます。これでできましてが、もう一つ質問させて頂いてもよろしいですか。すみません、sheet1のE2:J1109のところも最終行をとるようにすることは、おかしいことなのでしようか。よくわかっていないのですが、お教え頂けませんか。