• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAで、特定のシートからボタンで別シートへ指定行より下へ順番)

エクセルVBAで特定のシートからボタンで別シートへ指定行より下へ順番に転記する方法

このQ&Aのポイント
  • エクセルVBAを使用して、特定のシートからボタンで別のシートへ指定行より下へ順番に転記し、蓄積していく方法を教えてください。
  • 特定のシートからボタンをクリックすると、指定行より下のデータが別のシートに順番に転記されます。月締め報告としてのデータの蓄積が可能です。
  • エクセルバージョンは2003であり、VBAの初心者です。詳しい説明が不足しているかもしれませんが、皆様の知恵をお借りできれば幸いです。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

> 上記表で、日報報告を月締め報告へ転記することは > マクロを使用して出来たのですが、 > 蓄積していく方法がわかりません。 転記は転記シートの2行目に貼り付ける……と、言った感じで行を固定しているのでは無いですか?固定ではなく、空いている行を探してそこに貼り付ければ良いです。 例えばこんな式で得られる行を対象にします。 Sheets("転記シート").Range("A1").End(xlDown).Row + 1 この例では、A1から下方向に見て行き、データが存在しない最上行を返します。

noname#114844
質問者

お礼

ご丁寧に親切に教えて頂き感謝いたします。 教えていただいたようにしましたら、 すぐに解決しました。 本当にありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

転記先(蓄積先)の最終行を作業の都度毎回捉えれば、仕舞いでは。 シートの最終行を捉えるコードが知りたい、と質問にはっきり書けないのかな。 こんなの基本のキで(VBAを使だすと、やり方(ForNextを使う)によっては、すぐ必要になること)で、 Range("A65536").End(xlUp).Row です。 しかし難しいのは、質問の場合の特定シートと転記シートをコードで区別する書き方です。この点判っているのかな。前にシート名を限定する部分を加えてください。 Sub test01() MsgBox Worksheets("Sheet1").Range("A65536").End(xlUp).Row End Sub 書き込みは当然その1行下から。 ーーー 余談 ほかにシートのセルの値をエクセル作業終了、パソコ使用終了の後の、情報記憶(順送り)装置と考え、毎回での最下行を、決めたシートのセルに記憶していく手も思いつく人もありそうだ。 もっと多種で複雑化したら、テキストファイルに保存するとか、の仕組みは広くOSまで含めて使われる。レジストリとかINIファイルとかもそういう臭いがある。

すると、全ての回答が全文表示されます。