マクロを実行しているアクティブなブックを開いています。別の(新しい)ワークブックを開き、「新しい」ファイルの最初のワークシートから一連のセルをコピーし、それらの行を現在のワークブックのワークシートの下部に追加する必要があります。私はクリップボードを使用してコピー/ペーストを使用しないようにしたいと思います。既に開いている私の(現在の)ワークブックを皮切り新しいブックからクリップボードを使用せずにアクティブなブックに範囲をコピーする
Sub getnewrows()
Dim lngLast As Integer, newLast As Integer
Dim NewRows As Workbook
Dim MyWkbk As Workbook
Dim rSrc As Range
Dim rDst As Range
Set MyWkbk = ActiveWorkbook
Sheets(3).Select
lngLast = Range("A" & Rows.Count).End(xlUp).Row
Set NewRows = Application.Workbooks.Open("pathtomyfile.xls")
newLast = NewRows.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
Set rSrc = NewRows.Sheets(1).Range("A5:L" & newLast)
Set rDst = MyWkbk.Sheets(3).Range("A" & lngLast + 1)
rDst = rSrc.Value
NewRows.Close
Set MyWkbk = ActiveWorkbook
End Sub
、と私は1つのセルを超えるマクロ、それだけでコピーを実行すると「新しい」1は、閉じた状態:ここに私のコードです。
にデフォルト設定されます十分ではありませんか? –
'Set rDst = MyWkbk.Sheets(3).Range(" A "&lngLast + 1)'または 'Set rDst = MyWkbk.Sheets(3).Cells(lngLast + 1、" A ")' BTW 'lngLast'値が割り当てられていないので、デフォルト値は0になります –
また、メイン文書にデータを渡す前にデータをフィルタリングする場合は、ADOでSQLを使用することもできます。 –