• ベストアンサー

エクセルでシートに入力した値を別シートに飛ばし、月別に集計する方法を教えてください

タイトルでは分かり辛かったとは思いますが、要約すると以下の通りです。 1.元シート(以下Aと呼びます)に毎日同じセル内に1回値を入力します。 2.その入力された値を別シート(以下Bと呼びます)へとリンクさせ、尚且つそのBシート内で1か月分の集計を取ります。 つまりAシートでは毎日同じセルに値を入力しますが、Bシートでは1列ずつ下に記録され1か月分の入力がされていく、そのような操作は可能でしょうか? Bシートのあるセルに”=Aシートの指定セル”を入力するとAシートで値を変更するたびに同じセル内で値が更新されてしまいます。 どなたか方法が分かる方お知恵をお貸し下さい。よろしくお願いします。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

似たような質問は結構多くありますが、セルに値を入力したときにマクロを実行すると、間違えた場合、訂正した場合は、どうするかなどがあります。 やりたいことを、Sheet1のC1,C2,C3に入力して内容確認後、ボタンを押すと Sheet2のデータの最後の行の下に、横方向に記録していくということしたら。VBAで仕事を行うに定番のようなマクロです。 以下、試して、そちらの都合に合わせて編集してください。 Sub ボタン3_Click() GYOU = Sheets("Sheet2").Range("B65536").End(xlUp).Offset(1, 0).Row Sheets("Sheet2").Cells(GYOU, 2).Value = Range("C1").Value Sheets("Sheet2").Cells(GYOU, 3).Value = Range("C2").Value Sheets("Sheet2").Cells(GYOU, 4).Value = Range("C3").Value End Sub 補足説明 Range("B65536").End(xlUp).Offset(1, 0).Row  は エクセルで使用できる最大行65536行目のB列を上方向へ移動して、空白でない行を探す、その行から1行上へ移動した行番号を取得して、変数GYOUに入れる。 Sheets("Sheet2").Cells(GYOU, 2).Value = Range("C1").Value は、 シート2で、前のコマンドで探し当てた行の2列目にC1セルに値を入れるです。

keni11
質問者

お礼

丁寧な回答ありがとうございました。 一度こちらの方で入力、実行してみたいと思います。

その他の回答 (1)

回答No.1

不可能だと思います。 同じセルに入力しているのであれば、 無理じゃないですか? マクロを使用すればまた、違うでしょうが。

keni11
質問者

お礼

すいません。お礼を言わずに締め切ってしまいました。 2番目の回答者の方法で一度やってみようと思います。 ご迷惑お掛けしました。

keni11
質問者

補足

早々の回答、ありがとうございます。 おっしゃる通りマクロしかないようです。 質問を足すようで恐縮ですが、マクロでやる場合ではどうすればよいかお分かりになられるでしょうか?

関連するQ&A