ベンは正しかった。彼がその方法を示していないので、私が説明します。
wbkOut.Worksheets(1).Range("E44:E2000").Copy
With wbkVer.Worksheets("Metabuild")
.Range("A" & .Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
End With
追加したいもう 1 つのことは、必要に応じて、コピーされた範囲の行数を処理するのに十分な行がシートの下部にあることを確認するためのチェックです。十分な行がない場合、コードはエラーをスローします。
これを行うには、コードは次のようになります。
Option Explicit
Dim rngCopy as Range, lngCopy as Long
Set rngCopy = wkbOut.Worksheets(1).Range("E44:E2000")
lngCopy = rngCopy.Rows
rngCopy.Copy
With wbkVer.Worksheets("Metabuild")
Dim rngCheck as Range
Set rngCheck = .Range(.Range("A" & .Rows.Count).End(xlup).Offset(1),.Range("A" & .Rows.Count)
If rngCheck.Rows >= lngCopy Then
.Range("A" & .Rows.Count).End(xluP).Offset(1).PasteSpecial xlPasteValues
Else
Msgbox "Not enough space!"
End If
End With