- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル入力したデータを別シートの空白セルへ)
エクセル入力したデータを別シートの空白セルへ
このQ&Aのポイント
- エクセルで入力したデータを1枚のシートの空白行に次々に貼り付ける方法についてマクロ初心者ですが教えてください。
- 具体的には、Sheet1を貼り付け先の集合シートにし、Sheet2~Sheet5までのシートに担当者が入力したデータを集める仕組みを作りたいです。
- 各シート内には貼り付けボタンを設置し、ボタンをクリックすることでデータがSheet1に貼り付けられていくようにしたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
考え方だけいいます。 Sheet2~Sheet5の先頭(A列)には行番号を入れておきます。 この番号は例えばSheet2ならば IF(ISBRANK(BI)、999999、20000+ROW()) つまり入力があれば行番号+20000、なければ999999になります。 例えばSheet2は20001-20100、Sheet5は50001-550100. 002などというようにします。 Sheet1のA列にはあらかじめSheet2~Sheet5よりも大きい数値を入れておきます。例えば9999999などというように。 マクロの考え方は、 Sheet2の1行目から10行目など入力行数に応じた最大行数を値のコピーをし、これを例えばSheet1の100行目から貼り付けます。 同様に、Sheet3の1行目から10行目など入力行数に応じた最大行数を値だけコピーし、これを例えばSheet1の200行目から貼り付けます このようにしてSheet5までコピー貼り付けをします。 その後でSheet1のA1からAN600(これは最大件数で決めます)の範囲をA列で昇順にならべ替えをします。 こうすると入力されたデータだけが上位の行に固まって表示できます。 入力のない行はどのSheetも99999ですから並べ替えで最下行に行きます。 以上の考え方は、ある程度入力件数が増減しても一つのマクロの動作でおなじ結果になります。 マクロの組み方はヘルプで調べてください。あなたが手作業で実行したとおりに記録する機能があリますので、別にVBAは必要ありません、
お礼
いいヒントになりました。 ありがとうございました! 全部、記録でやったので、 今後のトラブル時にも修正が効くので、 ベストでした。