- ベストアンサー
エクセルの集計について
- エクセルの集計シートの作成方法についての質問です。
- 入力画面、集計結果、日表の3つのシートがあります。
- 入力者がパソコン初心者のため、検体数入力と実行ボタンの操作のみにしたいのですが、日にちごとの貼り付けが難しいです。マクロで解決できますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>日付のもととなるセルはシート2にドロップダウンリストで >選択させるつもりです。 このリストが、1・2・3・・・・という数値なのか、 1日・2日・3日・・・・と言う文字なのかによります。 数値であれば、一度変数にその値を代入し (仮にセルA1だとした場合) i = Sheets("Sheet2").Range("A1").Value 次にその変数で行数を決める Sheets("Sheet3").Range("A" & i + 1).Value (例えばコピー先の指定方法) と言う方法がとれますよ。
その他の回答 (3)
- n-jun
- ベストアンサー率33% (959/2873)
>シート3の行が1~31日と1行ずつ別の行になっているのです。 >日にち指定で貼り付けをしたいのですが、 >そのような方法はとれるのでしょうか? シート3が1日~31日と言う事は、1ヶ月分のみと考えて宜しいのでしょうか? そうであれば、日付の元になる情報はシート2のとあるセルですか? ならば、その値に応じてシート3の行番号を決めてしまうのがいいかも。 例えば、シート3の2行目が1日~32行目が31日なら、 シート2のあるセルの値が5日なら、5+1=6行目となります。 マクロの記録でどのようになったか提示して頂ければ、アドバイスも 可能かと思います。
補足
いつもありがとうございます。 いつも読んでお答えいただきありがとうございます。 大変参考になります。 現在の状況ですが、 私の知識・技術不足で申し訳ないのですが シート3の各日の横に実行ボタンを置き、 その日専用のマクロを設定するしか思いつきません。 結果31個のマクロを作成する必要が出来てしまいますよね・・・・。 (内容は単純にシート2の各データをシート3に貼り付けるだけのものです) >例えば、シート3の2行目が1日~32行目が31日なら、 シート2のあるセルの値が5日なら、5+1=6行目となります。 マクロを設定するに際して、 「何行目に移動」という設定は可能なのでしょうか? また、日付のもととなるセルはシート2にドロップダウンリストで 選択させるつもりです。 マクロへの知識不足によりご迷惑をお掛けしますm(_ _)m
- n-jun
- ベストアンサー率33% (959/2873)
>プロセスとしては、 >シート1のパラメータが多いため、いったんシート2で集計する。 >→その結果を完了ボタンなどでシート3に貼り付ける。 シート2の結果をシート3の新しい行(最終行の1つ下)に追加していく と言う事でしょうか? そうでれば、そのプロセスになりますね。 完了ボタンは、 Sheet2をアクティブ(開いた状態)にします。 「表示」-「ツールバー」-「コントロール ツールボックス」をクリックする。 ここの長方形の図形にマウスを合わせると「コマンドボタン」と表示されますので、 これをクリックします。 シート画面で左クリックするとボタンが表示されます。 このボタンを左ダブルクリックすると Private Sub CommandButton1_Click() End Sub なコードのある画面が開きます。(VBE画面) この2つのコード内に実行したい処理を記入していきます。
補足
お返事ありがとうございます。 早速のお返事に感謝申し上げます。 完了ボタン自体の作成はできました。 さらに質問で申し訳ないのですが、 「マクロの記録」で貼り付けの操作は記録できますが、 同一の行に貼り付けになってしまいます。 シート3の行が1~31日と1行ずつ別の行になっているのです。 日にち指定で貼り付けをしたいのですが、 そのような方法はとれるのでしょうか?
- n-jun
- ベストアンサー率33% (959/2873)
(1)入力画面(シート1) で入力するのは1日に何回かあるわけですね? その入力した分を、積み上げていくシートが 【(3)日表(シート3)】であって、 このシートを元に集計する(日毎)のが、 【(2)集計結果(シート2)】では、ないでしょうか? 例) 入力画面で入力が完了したら、入力画面の【完了ボタン】を押す。 データは日表に蓄積されていく。 集計結果シートは条件を選択・入力するようにし、その条件で日表から データを抽出する。 と言う事ではどうなのでしょうか?
補足
お忙しい中、 拙い文を読んでいただきありがとうございます。 >(1)入力画面(シート1) で入力するのは1日に何回かあるわけですね? 入力するのは一日の作業後なので1回です。 また、シート3では各日につき、1つのセルになります。 プロセスとしては、 シート1のパラメータが多いため、いったんシート2で集計する。 →その結果を完了ボタンなどでシート3に貼り付ける。 以上のことを行いたいのです。 シート1か2においてドロップダウンリストで日付を選択させて 完了ボタンで集計結果をシート3の指定の日付に貼り付けられれば よいのですが・・・・。 やはりそのようなことは難しいのでしょうか? 完了ボタンの作成方法もご教授願えれば幸いです。
お礼
ありがとうございます! コピー先の指定方法、変数指定のエッセンスをいただいたことで 無事に作成することができました。 n-junさまの的確でわかりやすいアドバイスに感謝申し上げます。 お時間を割いていただき本当にありがとうございました。