• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:毎回、データの行数が変化しているため、コピー・ペーストが、、困った。)

毎日入荷する商品のデータをSheet2の最終行へペーストするVBAマクロの作成方法

このQ&Aのポイント
  • 毎日、データの行数が変化しているため、コピー・ペーストが困難です。Sheet1には毎日入荷する商品のデータを入力します。Sheet2には年間仕入元表があり、その最終行の1行下へ毎日入荷するデータをペーストするVBAマクロを作成したいです。
  • 初心者の私は行数が変化するため、マクロでのデータのコピー・ペーストができません。教えて!gooの過去の質問を見てきましたが、適切な質問が見つからず、ここで質問させてください。VBAの初心者ですが、プロシージャを示していただければ理解できると思います。
  • 毎日入荷する商品のデータの行数が変化するため、コピー・ペーストが困難です。Sheet1には毎日入荷する商品のデータを入力し、Sheet2には年間仕入元表があります。最終行の1行下へ毎日入荷するデータをペーストするVBAマクロを作成したいのですが、初心者の私には難しいです。教えて!gooの過去の質問を見てきましたが、適切な回答が見つからず、質問させてください。VBAの初心者でも理解できるプロシージャを教えていただければ嬉しいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

Sheet1はいつも A2から始まるなら。 試す場合はコピーしたブックなど、テスト環境で。 Sheet1をアクティブにして実行します。 Sub aaa() With Activesheet  .Range("A2", .Range("D65536").End(xlUp)).Copy _   Destination:=Worksheets("Sheet2").Range("A65536").End(xlUp).Offset(1, 0) End With End Sub

abouka
質問者

お礼

papayuka 様 早速のご回答ありがとうございました。 ご指示のようにしてマクロを実行させると、期待通りにSheet2niセットができました。 基礎編のなかで、”With"の附く記述まで勉強していなかったため、ただ今から、探して理解するようにします。 ありがとうございました。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

ちなみにアクティブシートの最終行判定をD列でしているので、A列で最終行を判定するなら .Range("A2", .Range("D65536").End(xlUp)).Copy _ を .Range("D2", .Range("A65536").End(xlUp)).Copy _ に変えます。

abouka
質問者

お礼

papayuka 様 第2の回答をご親切にありがとうございました。 実際には、Copy を Cut に書き換えて実行します。 昨夜までの”もやもや”が消えて、ちょっと寒いけど スッキリして仕事にかかります。 

関連するQ&A

専門家に質問してみよう