Sub CopyAndPasteWithDate()
Dim wsSource As Worksheet
Dim wsDest As Worksheet
Dim lastRowSource As Long
Dim lastRowDest As Long
Dim copyRange As Range
Dim pasteRange As Range
Dim todayDate As String
Dim pasteRows As Long
‘ シートの指定
Set wsSource = ThisWorkbook.Sheets(“Sheet2”)
Set wsDest = ThisWorkbook.Sheets(“Sheet1”)
‘ 今日の日付を取得
todayDate = Format(Date, “yyyy/mm/dd”)
‘ Sheet2のA列~C列の最終行を取得(C列基準)
lastRowSource = wsSource.Cells(wsSource.Rows.Count, “C”).End(xlUp).Row
‘ Sheet2のA列~C列の範囲をコピー
Set copyRange = wsSource.Range(“A1:C” & lastRowSource)
‘ Sheet1のA列の最終行を取得
lastRowDest = wsDest.Cells(wsDest.Rows.Count, “A”).End(xlUp).Row + 1
‘ Sheet1のB列に貼り付け(B列~D列にA~C列のデータを貼り付け)
Set pasteRange = wsDest.Range(“B” & lastRowDest)
pasteRange.Resize(copyRange.Rows.Count, copyRange.Columns.Count).Value = copyRange.Value
‘ コピーしたデータの行数を計算
pasteRows = lastRowSource – 1
‘ 貼り付けたデータの前のA列に日付を入力
wsDest.Range(“A” & lastRowDest & “:A” & lastRowDest + pasteRows).Value = todayDate
MsgBox “データのコピーと日付の入力が完了しました!”, vbInformation
End Sub
解説は後日書きます
スポンサーリンク
コメント