- ベストアンサー
エクセルでデータを蓄積させるには?
エクセルで、入力用雛形シートと、蓄積用リストシートを作ります。入力雛形にデータを入力すると、リスト画面に蓄積されるにはどうすればいいでしょうか?保存ボタンを押すと入力したデータがリストに順々に保存されていくという形にしたいのですが・・・入力雛形はリスト画面に蓄積された(保存ボタンを押した)後、クリアさせるようにもしたいです。マクロは初心者です。教えて下さい。
- みんなの回答 (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とか)
その他の回答 (5)
- n-jun
- ベストアンサー率33% (959/2873)
>そのマクロが分からなくて・・・ 取り敢えず、蓄積用シートの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 は実際の名前に変更して下さい。
補足
すみませんが、このマクロの意味を教えて下さい。 項目を増やしたのでマクロも書き換えなくてはいけないですよね?
単純な方法としてデータフォーム機能を使う手がありますがそれでは物足りませんか? 参考URLご覧ください。
補足
フォームのやり方も知らなかったので参考になりました。ありがとうございます。
- n-jun
- ベストアンサー率33% (959/2873)
入力用雛形シートから蓄積用リストシートへ転記したいセル番地が どこにあるのか? 【入力用雛形シート】 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% 転記したいセル位置と転記する位置がこのようにわかれば、 回答がつきますよ。
補足
備品を管理する台帳を作るので・・・ 【入力用雛形シート】 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)
どのセルにデータがあり、どこに転記等を行ないたいのか、 提示されては? シート状態を見られない分、情報は多く必要です。
補足
すみません・・・どのように提示すればよいのでしょうか?
- n-jun
- ベストアンサー率33% (959/2873)
>入力用雛形シートと、蓄積用リストシートを作ります。 出来ているのですか? 出来ているのならシートレイアウトを提示された方がいいです。 >保存ボタンを押すと ボタンは作れますか?
補足
シート、ボタンは作っています。ボタンはフォームより作りました。そのボタンにどのようなマクロを入れればいいのでしょうか?
お礼
とても詳しい説明ありがとうございました! 本当に助かりました(涙) またよろしくお願いします。