- 締切済み
エクセルで入力→日付を自動判別して、その日付用のセルに転記したい
意味の分からない質問タイトルですみません。 在庫の日報を作っているのですが、 ・その日の日報作成(画面A)→別のシートにその日にちの数値データが転記 ・翌日の日報作成(画面A)→別のシートにその日にちの数値データが転記 画面Aはいつも同じシートであってほしいと思います。 上記のようなことが可能でしょうか。 ポイントは自動で入力した日にちを判別し、その日にちに対応したセルに転記できるかだと思います。 どうぞよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
シートには 日報入力(作成)画面A シート1 日別のシート2(1日用)、 シート3(2日用)、 ・・ があるのでしょうね。(違う場合は質問の説明不足だよ) ーー エクセルの課題解決方法は (1)操作 (2)関数 (3)VBA などの方法がありますが、 (1)はコピー貼り付けになるが、シート1とそっくり同じでないと手間がかかるし、表構成が違う場合は毎日しんどい。 この手は考えてないのでしょう。 ーー 関数はシート1のデータを取って、シート2などの所定のセルに「投げる」ようなイメージのことは出来ない。「受け取る」「待ち受ける」イメージで、どこから、(は決まっているのでしょうが)何日にデータを採るかという情報 が一箇所しか見れないので、該当日以外は捨てる(関数を無効にする)なんて芸当が出来ない。具体的に言えば、(一番可能性のありそうな関数である)シート名を決める、INDIRECT関数が使えない。 毎日の終わりにシート2(など)の式を全部消してしまえば、その日のシート1のデータでシート2のデータは固定されるが、そんな方法は普通しない。そのままだと、翌日には翌日のシート1のデータを(シート2の式を入れた各セルに)採ってしまう。 すると、前日のデータは残らない。 それで関数ではダメ。 この理屈わかりますか。 ーー VBAは 日付けでシートを割り出し、そのシートの対応セルにシート1のデータを所定セルにセットできる。データをシート1からシート2などに「投げる」感覚である。 翌日では投げる先を、日付けでコントロールできるから、日付けさえ正しく次の日にセットされれば、投げる先・行く先は間違えない。 (自動で日付けを採るDATEなどを使うのは、色々の場合を考えて却って不便と思うが、本質的な問題ではない) ーー コマンドボタンなどでシート1の入力終了の合図を送り、シート2など(日々変わる)へデータを代入する作業をするが、VBAの経験が無いと思うのでここには書かない。 やりたければ、少しVBAを勉強してからになるでしょう。
- marbin
- ベストアンサー率27% (636/2290)
VBAでの対応になると思います。 今日の日付けはDateで取得できます。 あとはFindメソッドで別シートの今日の日付け のセルを探し、見つかったセルの行の指定の列に 今日の在庫のデータを転記、という形になります。