• 締切済み

エクセル 入力フォームのデータを別シートに書き込む

エクセル 入力フォームのデータを別シートに書き込む方法 1.シート1のA2に日付、B2に文字列、C2に金額、D2に個数、E2に合計金額を入力する。 2.内容確認後、入力ボタンを押すと、 Sheet2の集計表リンクさせ、尚且つシート2内で1か月分の集計を取ります。 つまりシート1は入力シートで、同じセルに値を入力します(次回はデータが上書きされる)が、シート2では、集計表の1列ずつ下に新しく記録され1か月分の入力がされていく。 このような入力フォーム(マクロ)を作りたいと思っています。 初めて投稿するので、質問がよく分からないかもしれませんが、 よろしくお願いします。

みんなの回答

noname#192382
noname#192382
回答No.3

回答2に対する質問についてお答えします。マクロ1の代わりに下のマクロ2を実行してください。不具合がありましたら質問をしてください。 Sub Macro2() ' ' Macro2 Macro ' マクロ記録日 : 2012/11/10 ユーザー名 : ' Dim mygyo As Integer, kijitsu As Variant, koumoku As String, tanka As Variant, kosuu As Variant, kingaku As Variant Sheets("Sheet2").Select mygyo = Cells(1, 8) + 1 Sheets("Sheet1").Select kijitsu = Cells(5, 3) koumoku = Cells(4, 5) tanka = Cells(15, 3) kosuu = Cells(20, 4) kingaku = Cells(20, 5) Sheets("Sheet2").Select Cells(mygyo, 1) = kijitsu Cells(mygyo, 2) = koumoku Cells(mygyo, 3) = tanka Cells(mygyo, 4) = kosuu Cells(mygyo, 5) = kingaku Cells(1, 8) = mygyo Sheets("Sheet1").Select End Sub

punipunimiyu
質問者

お礼

早速の回答ありがとうございました。本当に凄いですね♪感謝しきれないぐらい感謝してます。勉強して私もこんな風に作れるように頑張ります。今後ともご教示賜りますようよろしくお願いします。本当にありがとうございました。

noname#192382
noname#192382
回答No.2

すみません。回答に間違いがありました。まくろ4の代わりに下のまくろ5を使ってください。 Sub Macro5() ' ' Macro5 Macro ' マクロ記録日 : 2012/11/9 ユーザー名 : ' ' Dim kei As Variant, kazu As Integer, mygyo As Integer, i As Integer Sheets("Sheet2").Select kei = 0 kazu = Cells(1, 8) For i = 1 To kazu kei = kei + Cells(i, 5) Next mygyo = Cells(1, 8) + 1 Cells(mygyo, 5) = kei End Sub

punipunimiyu
質問者

お礼

本当にありがとうございました。丁寧にご回答いただき感謝してます。 参考書までご教示いただき、感激です。ぜひ勉強してみたいと思います。 2つ聞いていいですか? 1 今後入力するセルを次のように変えた場合も同じように集計することは可能でしょうか? 入力フォームのC5に日付、E4に文字列、C15に金額、D20に個数、E20に合計金額 2 Macro1を実行すると、コピーした状態(ずっと点滅した状態)になりますが、これを解消する方法はあるでしょうか?

noname#192382
noname#192382
回答No.1

マクロを作って下の二つのマクロをこぴーはりつけをしてから、マクロ1とついでマクロ2を実行すれば合計が得られます。ツールバーボタンにマクロを登録すれば、ボタンを押すだけでそれぞれのマクロが動きます。ツールバーボタンのつくり方は例えば平成16年技術評論社発行の大村あつし著簡単プログラミングEXCELVBA基礎編の82ページ以下を参照してください。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2012/11/8 ユーザー名 : ' ' Dim mygyo As Integer Sheets("Sheet2").Select mygyo = Cells(1, 8) + 1 Sheets("Sheet1").Select Range("A2:E2").Select Selection.Copy Sheets("Sheet2").Select Cells(mygyo, 1).Select ActiveSheet.Paste Cells(1, 8) = mygyo Sheets("Sheet1").Select End Sub Sub Macro4() ' ' Macro4 Macro ' マクロ記録日 : 2012/11/9 ユーザー名 : ' ' ' Dim mygyo As Integer Sheets("Sheet2").Select mygyo = Cells(1, 8) Range(Cells(1, 1), Cells(mygyo, 5)).Select Range("E1:E5").Select Range("E5").Activate ActiveCell.FormulaR1C1 = "=SUM(R[-4]C:R[-1]C)" Range("E1:E5").Select End Sub

関連するQ&A

  • エクセル 入力シートのデータを別シートに書き込む

    エクセル 入力シートのデータを別シートに書き込む 1.Sheet1のA2に数字、B2に数字、C2に数字、D2に数字、E2に数字、F2に数字、G2に数字、にを入力する。 2.内容確認後、入力ボタンを押すと、 Sheet2のF2にSheet1のA2の数字、 Sheet2のH2にSheet1のB2の数字、 Sheet2のI2にSheet1のC2に数字、 Sheet2のJ2にSheet1のD2に数字、 Sheet2のK2にSheet1のE2に数字、 Sheet2のL2にSheet1のF2に数字、 Sheet2のM2にSheet1のG2に数字が反映され、sheet2の入力されたデータが一列づつたされていく。 つまり。sheet1は入力シートで、同じセルに値を入力します(次回はデータが上書きされる)が、sheet2では、集計表の1列ずつ下に新しく記録されていく。 このような入力フォーム(マクロ)を作りたいと思っています。 わかりづらい質問で申し訳ありませんが教えていただけませんでしょうか。 よろしくお願いします。

  • エクセルのデータ集計シートについての質問

    エクセルについて質問です。家計簿を自分で作ったのですが、一つのシートはデータを入力していく表で、もうひとつのシートは連動して科目別に集計していく表です。具体的には入力用のシートA列:日付 B列:科目(例)食費 C列:内容 D列:金額 月ごとに縦に入力していっているので、これを次の月からもE列から続いて入力していきます。集計用のシートはA列にそれぞれの科目があり、B列:1月 C列:2月・・・というようになっていて、集計はSUMIFの関数で計算しています。 しばらく順調に計算されていたのですが、入力シートのBN列以降に入力したものが連動されなくなってしまいました。 どうすればいいか教えていただけますでしょうか?

  • Excelで入力用シートのデータを集計用シートに保存するには

    Excelでできるかわからないのですが教えてください。 一つのシートに日付と記入項目10項目(数値)を入力する シートを作成しその作成したシートの日付を基準に 別に作った集計用シートにデータを写し保存することは できるでしょうか? 入力シートは入力しては消して次の日にまた新たなデータを入力してと 入力するためだけの専用シートにしたいです。 また集計シートは各日にち毎のデータを集計するシートにしたいと 思っています。 いろいろ調べたのですが良くわからないので アドバイスいただけませんでしょうか。 よろしくお願いいたします。

  • 1枚のシートに集計を入力して別シートで印刷

    シート1に日付と商品の個数を入力して別のシートに日付指定してその日の集計を印刷をしたいのですが日付の指定がうまうできないので教えて下さい。 エクセルは2010です。 シート1(入力のみ)      1日   2日   3日・・・・・ 商品1  2    3     5 商品2  4    1     2 商品3  3    3     3 シート2 1日←日付指定 商品1  2 商品2  4 商品3  3 シートを日数分作り印刷をするのも考えたのですが出来ればシートを増やしたくないので ご教授宜しくお願いします。

  • excelでのシート別条件比較

    別シートでの項目の比較を行い等しければデータをコピーしたいのですがうまくいきません。教えて下さい。 現状 シート1・1日の各項目のデータ入力及び集計 シート2・31日分のデータ(シート1で入力・集計した)及び累計  シート1でのデータをシート2へコピーしています。 シート1に日付指定項目を設けて、シート2の該当日にマクロボタン で転送できるようにしたいのですが、出来ないので困っています。 シート1からシート2へコピーするマクロは作ったのですが それにVBAで日付どうしの比較を付けたいのですが構文エラー が出ます。 If Range("B1").Value & "日" = Sheets("シート2").Select Range("J2").Value Then マクロ記録のコピー処理 End If VBAど素人です。宜しくお願い致します。

  • 入力したデータをその都度別のシートに蓄積したい。

    お世話になります。 分不相応なのですが、教えてください。 売上や支払に関する明細を作るためにエクセルを使っています。 『シート1』 罫線を引いて実際の明細仕立てにして、  社名   品名1・数量1・金額1・・・   品名2・数量2・金額2・・・          合計金額 計算式も入れて、品番と数量が入ると 金額を算出するようにしています。 『シート2』 1行目には、社名・品名などの項目名を入れました。 1つの取引先に付き、1行分で シート1で入力したデータを転記したいと思います。 理想としては、シート1で1明細の入力が完了 →コマンドボタン(登録)を押す →シート2の2行目にデータが転記 これを繰り返してシート2の3行目、4行目と データを蓄積していく・・・感じです。 マクロの記録で、入力した内容を消去するボタンを作ったり 1行目だけ内容を転記させてみたり(そこで終了・・) 色々なキーワードで、それらしきサイトを検索してみたり、 初心者でも分かるマクロ&VBAみたいな本で調べてみたり・・ ちょっと行き詰ってきたので質問させて頂きました。 ユーザーフォームを作ってシートに転記する方法は見つけましたが シート1には計算式を結構盛り込んでしまったので、 フォームには手が届きそうにありません。 説明不足かもしれませんが、何か良いアイデアはないでしょうか。 マクロで解決できるのか、やっぱりVBAでやるしかないのか、 また何か良いサイトをご存知でしたらご紹介ください。 よろしくお願い致します。

  • エクセルでシートは別ですが、同じセルの集計を行いたいのですが

    自治会のアンケートの集計に頭を悩ましています。 一つ目のシートに集計結果を入力出来る表を作りました。 組が10組有りますので、シートのコピーを繰り返して10組分を作成しました。 11シート目に各組の組別の質問毎の集計表を作成しました。 アンケートの設問が23問あり、選択も各問に3項目有ります。 最初は、集計表に各組の結果を入力すれば、自動的に集計表に転記出来るにと、集計表の入れたいセルをシフト+=を押して、その組のシートを開いて、集計結果のセルをクリックして、シフト+=+エンターを繰り返していましたが、余りにも回数が700回近く行わなければ成りません。 そこで教えて頂たいのですが、 10個のシートの同じセルを、各組に入力すれば集計表に自動的に同じ数字が入る様にする方法は有るのでしょうか? 宜しくお願い致します。 マクロはさっぱり判りませんので簡単に出来る方法をご教示頂きたくお願い致します。

  • Excelで別シートに必要データのみを抽出したい。

    Excelで シート1には 商品名 メーカー名 金額 個数 担当 のデータが入力されています。 ここで個数が「0」のデータ以外をシート2に抽出したい(個数が1個以上のデータのみを抽出したい)のですがいまいちやり方がわかりません。 どうやればできますか? すいませんが大変困っています。 どなたか教えてください。 宜しくお願い致します。

  • エクセル入力したデータを別シートの空白セルへ

    各シート(担当者別シートのイメージ)に入力されたデータ(行)が、 1枚のシートの空白行に次々に貼り付けられていくようにするには、 マクロを使う事になるかと思いますが、 マクロ初心者につきわかりません。 もう少し具体的にしたい事をいいますと、 ・Sheet1を貼り付け先の集合シートにします。 ・Sheet2からSheet5までが入力シートです。 ・入力する列の範囲はA~ANです。 ・列項目はすべてのシート共通です。 ・Sheet2~Sheet5にはシート毎に決められた担当者が入力します。 ・(例えばですが)各自が入力完了後、各シート内に据え付けのボタンをクリックしてSheet1に貼り付けられて集められていく。 というものにしたいのです。 どなたか、ご指導願います。

  • エクセル入力したデータを別シートの空白セルへ

    各シート(担当者別シートのイメージ)に入力されたデータ(行)が、 1枚のシートの空白行に次々に貼り付けられていくようにするには、 マクロを使う事になるかと思いますが、 マクロ初心者につきわかりません。 もう少し具体的にしたい事をいいますと、 ・Sheet1を貼り付け先の集合シートにします。 ・Sheet2からSheet5までが入力シートです。 ・入力する列の範囲はA~ANです。 ・列項目はすべてのシート共通です。 ・Sheet2~Sheet5にはシート毎に決められた担当者が入力します。 ・(例えばですが)各自が入力完了後、各シート内に据え付けのボタンをクリックしてSheet1に貼り付けられて集められていく。 というものにしたいのです。 どなたか、ご指導願います。