• ベストアンサー

エクセルでデータを蓄積させるには?

エクセルで、入力用雛形シートと、蓄積用リストシートを作ります。入力雛形にデータを入力すると、リスト画面に蓄積されるにはどうすればいいでしょうか?保存ボタンを押すと入力したデータがリストに順々に保存されていくという形にしたいのですが・・・入力雛形はリスト画面に蓄積された(保存ボタンを押した)後、クリアさせるようにもしたいです。マクロは初心者です。教えて下さい。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.6

Dim WS1 As Worksheet '変数の宣言:シート1 Dim WS2 As Worksheet '変数の宣言:シート2 Dim r1 As Range, r2 As Range 'セル(Range)の宣言 シート1&2用 Set WS1 = Worksheets("Sheet1") '変数WS1にシート1をセット Set WS2 = Worksheets("Sheet2") '変数WS2にシート2をセット Set r1 = WS1.Range("B1:B3") '変数r1にシート1のセルB1:B3をセット Set r2 = WS2.Range("B" & Rows.Count).End(xlUp).Offset(1) '変数r2にシート2のB列最終行の1つ下をセット r2.Resize(, 3).Value = Application.Transpose(r1) '変数r2でセットされたセルから、右に2個増やした 'セル3個分に、r1でセットされた3個のセルを '行列入替え(縦並びを横並びに)て代入する r2.Offset(, -1).Value = r2.Row - 1 'シート2のB列(r2)の1つ左(A列)に '行番号から1引いた数を代入する。 '(項目行の分だけ1引いて調整してる) >項目を増やしたのでマクロも書き換えなくてはいけないですよね? どのように増やすのかも提示された方が、回答がスムーズにいくと思います。 取り敢えず、シート1の項目が3つでない場合なら、 Set r1 = WS1.Range("B1:B3") B1:B3を実際の範囲に合わせる。(例・B1:B6とか) r2.Resize(, 3).Value = Application.Transpose(r1) 3を実際のセル個数にあわせる。(例・B1:B6なら6とか)

noa8998
質問者

お礼

とても詳しい説明ありがとうございました! 本当に助かりました(涙) またよろしくお願いします。

その他の回答 (5)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.5

>そのマクロが分からなくて・・・ 取り敢えず、蓄積用シートの1行目は項目が入っているとして、   A  B  C     D 1 NO  区分 機能別分類  品名 2 1   国語  教材   漢字スキル 3 2行目からデータを追加していく。 とおし番号は1から。 Dim WS1 As Worksheet Dim WS2 As Worksheet Dim r1 As Range, r2 As Range Set WS1 = Worksheets("Sheet1") Set WS2 = Worksheets("Sheet2") Set r1 = WS1.Range("B1:B3") Set r2 = WS2.Range("B" & Rows.Count).End(xlUp).Offset(1) r2.Resize(, 3).Value = Application.Transpose(r1) r2.Offset(, -1).Value = r2.Row - 1 ボタンのマクロの中に上のコードを入れてみて下さい。 Sheet1 と Sheet2 は実際の名前に変更して下さい。

noa8998
質問者

補足

すみませんが、このマクロの意味を教えて下さい。 項目を増やしたのでマクロも書き換えなくてはいけないですよね?

noname#42041
noname#42041
回答No.4

単純な方法としてデータフォーム機能を使う手がありますがそれでは物足りませんか? 参考URLご覧ください。

参考URL:
http://dreamy.boy.jp/kihon9.htm
noa8998
質問者

補足

フォームのやり方も知らなかったので参考になりました。ありがとうございます。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

入力用雛形シートから蓄積用リストシートへ転記したいセル番地が どこにあるのか? 【入力用雛形シート】   A   B    C 1 日付 会社名 担当者 2 9/5  YYY   KKK 3 4 天気 湿度 5 雨  00% とあった場合、転記したいのは セルA2、B2、C2、A5、B5 【蓄積用シート】   A   B   C    D   E 1 日付 会社名 担当者 天気  湿度 2 9/5  YYY  KKK   雨   00% 3 9/6  XXX  LLL   雨?  90% 転記したいセル位置と転記する位置がこのようにわかれば、 回答がつきますよ。

noa8998
質問者

補足

備品を管理する台帳を作るので・・・ 【入力用雛形シート】  A      B     C 1区分     国語 2機能別分類  教材 3品名     漢字スキル セルBにデータを入力していきます。セルAが入力する項目名です。 転記したいのはB1、B2,B3です。 雛形の横に保存ボタンを作る。保存ボタンを押すと蓄積用シートへデータが転記される。(データを転記させた後、雛形へ入力したデータは残しておくこともできますか?クリアせずに。) 【蓄積用シート】  A  B   C   D 11  国語  教材  漢字スキル 22   33   セルAには通し番号を。保存ボタンを押すとB1、C2、D3に転記される。 保存ボタンにはマクロを記録するのですよね? そのマクロが分からなくて・・・

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

どのセルにデータがあり、どこに転記等を行ないたいのか、 提示されては? シート状態を見られない分、情報は多く必要です。

noa8998
質問者

補足

すみません・・・どのように提示すればよいのでしょうか?

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

>入力用雛形シートと、蓄積用リストシートを作ります。 出来ているのですか? 出来ているのならシートレイアウトを提示された方がいいです。 >保存ボタンを押すと ボタンは作れますか?

noa8998
質問者

補足

シート、ボタンは作っています。ボタンはフォームより作りました。そのボタンにどのようなマクロを入れればいいのでしょうか?

関連するQ&A

  • エクセルで少し凝った顧客データを作りたいのですが・・・。

    OSはWindowsNT、エクセルはExcel97を使用しています。 現在、使用している顧客管理のデータ(「顧客の達人Ver4.0」)がイマイチ使いづらいため、エクセルで似たような顧客管理データを作れないものかと思いました。そこでお聞きしたいのが、データを入力するとき、あらかじめ作っておいたひな形にデータを入力すると、リスト画面に蓄積されていく事が出来るかどうか?ということです。説明が下手ですみません。つまりこの方法は、顧客の達人の入力の仕方と同じです。普通、エクセルで顧客データを入力する時、お客様毎に次の行、次の行というように入力していきますが、そうではなく、ひな形に入力し、保存ボタンを押す事で入力したデータがリストに順々に保存されていくという形にしたいのです。こういった事はエクセルで可能でしょうか?つたない説明ですみません。補足致しますので宜しくお願いします。

  • エクセルで日毎のデータの蓄積

    シートBにその日のデータを入力し、そのデータをシートAに蓄積していきたいです。 手作業ならば、 1.入力されたシートBのその日のデータをコピー 2.シートAの同じ日付の行を探し、値のみペースト とするのでしょうが、これを自動化したいです。 セル参照だと、毎日、同じ行にデータが上書きされていくため 無理っぽいし、マクロを使わないとできませんか? コピーとペーストはできそうですけど、「同じ日付の行を探し」というところが難しそうだなぁと思いました。。。 すみませんが、よろしくお願いします。 シートA(データ蓄積用) 日付   データ 12/1   データ1 12/2 ・ ・ 12/31 シートB(データ入力用) 日付   データ 12/2   データ2 ↑日付が変われば、同じ行にデータを上書き

  • エクセルでデータを別シートに表示する方法。

    エクセルでの質問です。 運送会社に勤めてまして、乗務員の拘束時間を管理できる表の作成を頼まれました。 シート1には記入表があって、名前をリストで選択しデータ入力、そのデータを名前別に シート2に蓄積し、保存されます。 シート1の記入表の名前を他の名前にリストから変更したら、記入表の数字はクリアにされますが シート2には前回の名前のデータはそのまま保存。また名前を選択したら随時更新が出来るように したいです。 名前のリストは500人程度です。 一人一人のシートを作成したのでは非常に時間がかかるため、マクロやVBAで効率よく分類、 またはそれ以外の方法がありましたら、ご教授いただければと思います。 よろしくお願いいたします。 表は画像にあります。

  • EXCELのデータ入力

    EXCELでマクロをくみたいのですが、 シートが二つあって、 例えば項目が住所 氏名 電話番号 などとあって、 一つ目のシートにデータを入れて 登録ボタンをおすと 二つ目のシートに蓄積されていくマクロを組みたい のですが、二つ目のシートで、次の段を認識させる方法が思い浮かびません。 お詳しい方、お教えいただけないでしょうか。

  • excelのデータが消えてしまいました

    excel初心者です 以前に作ったデータを更新してデータを入力していました。 途中で消えてしまってはいけないと、何回か上書き保存をしていましたが その際、いつもCSVファイルがどうたら、、という確認画面が出ていましたが okボタンを押して保存していました。 すべての入力が終わって、再度上書き保存をして、その画面を閉じました 再度、そのデータを開こうとしたら、なぜか入力していたシートの一つの シートしか出てきません! ものすごく時間をかけて作ったデータなので、なんとか復旧させたいのですが どうしたら良いでしょうか? すごく困ってます。助けて下さい

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

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

  • VBAで横のデータを縦に蓄積させる方法

    エクセルVBAで横軸(元データ)に 0 1 2 3 4 5  と入力されているデータを縦軸に(別の蓄積用シート) 0 1 2 3 4 5 と変換し、なおかつ元データを変え、 2 3 4 5 6 7 を蓄積シートに 0 2 1 3 2 4  3 5 4 6 5 7 のように次々に蓄積させていく方法があれば教えてください。お願いします。

  • エクセル、リアルタイムデーターの蓄積方法

    こんにいちは。一応プログラム言語の経験者(Fortran90, R)ですが、マクロ、VBAに関してはほぼ初心者です。エクセル上に、リアルタイムで送られてくるデーターの蓄積方法を知りたいと思っています。この場所で、その方法をすべて教えてくださいというのは無理だと思うのですが、もしご存知の方が折られましたら、蓄積が可能か、またその方法を勉強できるようなサイト、書籍などをご存知でしたら教えてください。ご迷惑をおかけしますが、よろしくお願いします。

  • エクセルでマクロか関数を使って住所録を作りたい。

    エクセルでマクロを作りたいのですが、 シートを2つ使い 1枚目のシートに項目が、住所 氏名 電話番号・・・・ 一枚目のシートにデータを入力し 登録ボタンをおすと 二枚目のシートにデータがどんどん蓄積されていき、住所録ができるマクロを組みたいのですがやり方がわかりません。(1枚目のシートのデータは次の入力時に上書する。) また、関数でもできるのでしょうか? マクロの基礎の本を購入し、読みみましたが、マクロに関してはほとんど素人です。詳しい方、ご回答をお願いします。

  • エクセル データの登録、蓄積

    はじめまして!初心者です。みなさまのお力をお借りしたいです┏○゛ A,B,Cの種類のものがそれぞれ20個ずつ(No.1~20)あります。 これを使用するたびに登録フォームで登録し、別のブックにデータを蓄積したいのです。 イメージはこんなかんじです。 ABCいずれかチェックか丸ポチで選択 ↓ No.を記入 ↓ 登録ボタンで登録終了 Aのデータはシート2に、Bは3にCは4に登録したいです。 そして、1つを12の倍数回使用するたびに通知してもらわなければなりません。 例「12回使用しました」 参考に登録画面とデータ画面を載せますので参考になさってください。 ちょっとややこしいのですが、どなたかできる方いらっしゃいましたらおしえて下さい。 宜しくお願いしますm(_ _)m

専門家に質問してみよう