- ベストアンサー
エクセルにて表に入力→一覧に自動転記
EXCEL関数を利用した一覧の作成について質問です。 A B C D ~ X 1 名 前 金 額 商品名 配送先 ~ 返 金 2 近 藤 2000 砂 糖 栃 木 ~ 500 上記のような表があり、A2~D2の各項目が毎日違う値になるとします。 その値を、別のシート(下記)に毎日自動転記したいのですが、 どのようにすれば宜しいでしょうか? 上の表はほんの一例です。表の値を出すためにも別の表で関数を 駆使して集計や計算をし、それが上の表に出てくるので、をれを 手入力で毎日一覧に転記するとミスが生じてしまうのです。 やはり、EXCELだけでは限界ですか? ご存知の方、宜しければ教えてください! A B C ~ X 名 前 金 額 商品名 ~ 返 金 ○月1日 近 藤 2000 砂 糖 ~ 500 ○月2日 鈴 木 5000 塩 ~ 200 ○月3日 田 中 3000 砂 糖 ~ 800 ・ ・ ○月31日 星 3000 銀 杏 ~ 100
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 >マクロを併用していろいろやってみます。 マクロの記録だけではだめですよ。 VBAでやる上で、役立ちそうなコードを挙げておきます。あくまで1つの方法です。自分の場合、私の例とどう違うので、コードのどこをどう修正したらよいかを、色々試行錯誤してみてください。 Sheet1 A1に日付をいれ、データは第2行目から、A-C列で 山田 リンゴ 2 木下 もも 1 上野 柿 4 これを打ち込んで、コマンドボタンをクリック。 Sheet2はA-D列 2006/12/25 山田 リンゴ 2 2006/12/25 木下 もも 1 2006/12/25 上野 柿 4 となる。 Sheet1でA1は新日付を打ち直し。 第2列以後はクリアして打ち直し。 2006/12/26 大野 イチゴ 12 垣田 みかん 5 池下 さくらんぼ 7 コマンドボタンをクリック。 Sheet2は 2006/12/25 山田 リンゴ 2 2006/12/25 木下 もも 1 2006/12/25 上野 柿 4 2006/12/26 大野 イチゴ 12 2006/12/26 垣田 みかん 5 2006/12/26 池下 さくらんぼ 7 ーーー 実行に先立ち、前もってやっておくこと (1)Sheet1にコマンドボタンを置く方法 表示ーツールバーーコントロールツールボックスのコマンドボタンをシート状にD&D (2) VBEの標準モジュールに Sub tuika() l1 = Worksheets("Sheet1").Range("A65536").End(xlUp).Row 'Sheet1の最終行 l2 = Worksheets("Sheet2").Range("A65536").End(xlUp).Row 'Sheet2の最終行 For i = 2 To l1 'Sheet1の第2行目から最終行まで '--Sheet2の最終行以下へSheet1よりデータを持ってくる。 Worksheets("Sheet2").Cells(l2 + i - 1, "A") = Worksheets("Sheet1").Range("A1") Worksheets("Sheet2").Cells(l2 + i - 1, "B") = Worksheets("Sheet1").Cells(i, "A") Worksheets("Sheet2").Cells(l2 + i - 1, "C") = Worksheets("Sheet1").Cells(i, "B") Worksheets("Sheet2").Cells(l2 + i - 1, "D") = Worksheets("Sheet1").Cells(i, "C") Next i End Sub をコピー貼り付け。 (3)ボタン上で右クリックし、マクロの登録で、「tuika」を指定。 ーーー 本当はクリックを忘れて累積されなかったとか、2回クリックして、重複累積したり、コマンドボタンがシートコマンドボタンの問題はマクロボタンをツールバーに作る方法など勉強(WEB照会など)してください。
その他の回答 (5)
- shinkami
- ベストアンサー率43% (179/411)
同じデータを複数のファイルに作成するのは感心しません。 シートは一つで考えられませんか? 例から推察しますと日々の集計表の作成のような 元シートに日付の列を追加して、Excelの集計機能を使っては また集計表にはD列以下(X列を除く)の項目は不要ですね、 印刷の前に不要な列名(D、,E、…)を右クリックして「表示しない」にします 上記の操作をマクロに組むと仕事の効率が上がりますよ
お礼
ご回答ありがとうございました!
- goowon
- ベストアンサー率39% (131/328)
質問の主旨は入力帳票と集計表を別にしたいと考えて 集計結果を印刷したいと仮定します。 ■ちょいとかじった程度なんで、VBAとなると・・・ 初心者と思ってアドバイスします。 入力帳票を○月○日の表に直接入力されたら如何でしょう。 難しいテクニックを使うより良いと思います。 その場合表の行が長くなりますので A B C ~ X 名 前 金 額 商品名 ~ 返 金 表題をスクロールしないように画面を固定されたら如何でしょう。 ウィンドウ→ウインドウ枠の固定でOKです。他にも方法があります。 検索用にデータ番号、あるいは日付を入力された方が役立つでしょう。 ■出力帳票を別シートにつくり印刷されたら如何でしょう。 先ほどのデータ番号あるいは日付でデータを抽出されたら如何でしょう。抽出関数(Vlookup) http://www.kenzo30.com/ex_kisotyu/ex_ks_tyukyu9_9_4.htm 質問を勝手に解釈してアドバイスしました。悪しからず。
お礼
ご回答ありがとうございました!
- s_nak
- ベストアンサー率55% (269/487)
まぁ手動が少し必要になりますが、・・・、マクロが使えるのなら、コピーしたい頁のA2で「End」「→」キーなどを使った範囲指定とコピーを行うマクロを作り、コピーしたい先の先頭セルにカーソルを移動して、そこにペーストを行うマクロを作ればいいのでは? VBAを使えば、imogasiさんの仰るように自動化できますが、・・・解答を書く人はいないと思う。
お礼
ご回答ありがとうございました!
- imogasi
- ベストアンサー率27% (4737/17069)
>EXCELだけでは限界ですか そうではない。「エクセル」の限界ではない。エクセルVBAのことが全く出てきませんが、ご存知ですか。知らないとすれば、仕事にエクセルを使うのは、頭で考えると簡単なことも、簡単にできなくて相当我慢しなければなりません。 手作業で相当補わないとダメだから。例えば再入力やコピー・貼り付けなど併用でしてやる必要が出てきます。 ーー 同じシートの同じ行に(昨日のデータの上書き、または消して上書きをして)、日ごとに 順に、累積した行データを残すのは、(マクロを使わないと)関数では至難の業です。というより、できないでしょう。
お礼
回答ありがとうございます。 なるほど・・・・至難の業ですか・・・。ちょいとかじった程度なんで、VBAとなると全然わからないっす(T_T) マクロを併用していろいろやってみます。
- web2525
- ベストアンサー率42% (1219/2850)
その日の結果(転記元)の表のデータは1行だけですか? 転記先の表には日付が入っていますが、最終列はXのままという事は、A列には日付+名前のデータが入るのでしょうか? 質問の内容だけですとただ単に行をコピーして貼り付けて名前の頭に日付を追加だけのようなのですが・・・・・ この操作の何をミスしてしまうのでしょうか? ミスが生じるという事はもっと複雑な何かがあるのではないですか? 関数だけでの処理は難しいと思うので、マクロでの処理となると思いますが、この程度の処理であればわざわざマクロを作成しなくても【マクロの記録】で手順を記録させるだけで対応可能かと思います。
お礼
ご回答ありがとうございます。 A列には名前だけが入ります。また、コピペなら質問をするまでもありませんが、一応関数やマクロを使って「自動転記」ということでEXCELのみで出来るかどうか、またその方法のヒントを教えていただきたかったのです。
お礼
ご回答ありがとうございました!