• 締切済み

Excel データを各シートへ自動振り分け(各シート、元データと連動)

こんばんは。 マクロもVBAもチンプンカンプンの私が、色々調べ挑戦したのですが・・・ 頭がパンク状態。 自分がやりたい事も上手く伝えられてるか、不安ですが宜しくお願いします。m(__)m <ファイルの状況> Excel2003使用 Sheet1  コードNo.+勘定科目が入力されているSheet Sheet2  全ての勘定科目のデータが入力されているSheet      ※新しい情報は、随時このSheetに入力 ◎勘定科目ごとのSheet数は、月(年)によって異なります <やりたい事> ※画像参照(見にくかったら、ごめんなさい) 1.「更新場所」のデータを勘定科目ごとに自動振り分けしたい。    ※Sheetごとに合計も出てると理想 2.「更新場所」に新しいデータを入力すると、振り分けられた各Sheetのデータも自動更新される。(元データと各Sheetが連動されてる。) <参考にしたサイト> 【A】 http://www4.ocn.ne.jp/~yy3/Sub61.html 【A】のサイトのプログラムを「ExcelのVisual Basic Editor」を開き貼り付け、「データを各シートに振り分ける」までは出来たのですが・・・ 振り分けられた各シートを見ると、合計が出てないんです。 それは単純に【A】のサイトのプログラムの中には、「各シートの合計値を求める」という 指示のプログラムが入っていないからだと考えました。(素人の考えです。) <やりたい事>の1の各Sheetで合計値を求める事と、<やりたい事>の2が出来ていないので、【A】のサイトのプログラムに・・・ 以下のプログラムを追加すると、私の目的にあったプログラムが出来る?と思ったのですが、出来ますでしょうか? 1.「振り分けられた各Sheetの合計値を求める」という指示 2.「更新場所に新しいデータを入力すると、振り分けられたSheet内のデータが自動更新」されるという指示 また、【A】のサイトを元に各Sheetに振り分けると、一番最後に「合計」というSheetが登場するのですが・・・ 「合計」のSheetを見ても#REFと表示されているだけで、なんの為にあるSheetなのか、よく分かりません。 「合計」のSheetを見るまでは考えていませんでしたが、「合計」のSheetに各Sheetの 勘定科目・支出・収入の合計金額が表示されると、とても理想的です。 マクロもVBAも全然分からないのに、要望だけ沢山あってすみませんが、宜しくお願いします。 P.S 【A】サイトより私の目的にあったプログラムがあったら、【A】サイトのプログラムにこだわる理由はありません。 色々調べてこれがいいのかな?と思っただけですので・・・ 宜しくお願い致します。

この投稿のマルチメディアは削除されているためご覧いただけません。

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

私も#1、#2回答に賛成ですが VBAを勉強したいとの事なので しかし、質問が良く分かりませんので #1補足のリンク先の#1の回答を参考に コードを作成してみました 'シートモジュールへ Private Sub Worksheet_Change(ByVal Target As Range) Dim ws As Worksheet Dim mws As Worksheet If Cells(1, Columns.Count).End(xlToLeft).Column < Target.Column _ Or Cells(Target.Row, 1).Value = "" _ Or Target.Row = 1 Then Exit Sub For Each ws In Worksheets If ws.Name = Cells(Target.Row, 1).Value Then Cells(Target.Row, 1).Resize(1, Cells(1, Columns.Count).End(xlToLeft).Column).Copy _ ws.Cells(Rows.Count, 1).End(xlUp).Offset(1) Set ws = Nothing Exit Sub End If Next ws Set mws = ActiveSheet Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = Cells(Target.Row, 1).Value Set ws = Worksheets(Worksheets.Count) mws.Select Cells(1, 1).Resize(1, Cells(1, Columns.Count).End(xlToLeft).Column).Copy _ ws.Cells(1, 1) Cells(Target.Row, 1).Resize(1, Cells(1, Columns.Count).End(xlToLeft).Column).Copy _ ws.Cells(Rows.Count, 1).End(xlUp).Offset(1) Set mws = Nothing Set ws = Nothing End Sub >マクロもチンプンカンプンなのにAccess?! 逆ですよ、Accessの必要な機能・操作覚えるのは1ヶ月~2ヶ月勉強すれば出来そうですが マクロは1年~2年かかりますよ、現在チンプンカンプンな方には難しいかと まずは、基本を覚えないと先に進まない >マクロの意味を理解する事に時間を使いたいと思います。 このためにも基本を覚えないと無理ではと思います 提示したコードはサンプルですので悪しからず 以上参考まで

  • orangezzzz
  • ベストアンサー率35% (401/1119)
回答No.2

マクロなんて勉強するよりAccessの方がはるかに簡単ですよ。

  • orangezzzz
  • ベストアンサー率35% (401/1119)
回答No.1

目的が何なのか良くわかりませんが、ExcelよりAccessでも使った方が良いですよ。

paboeyo-_-
質問者

補足

orangezzzzさん 目的がわからない・・・?失礼致しました。 マクロもチンプンカンプンなのにAccess?! 今はAccessを勉強するよりも、目的にあったマクロを教えて頂き、 マクロの意味を理解する事に時間を使いたいと思います。 Accessという方法を教えて頂き、ありがとうございました。m(__)m ちなみに・・・ この質問者の方と同じ事をしたいんです。  ↓ http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1034683710 でも、やっと見つけた!って思い、回答者の方が貼り付けてくれたURLをクリックしても・・・マクロを見ることが出来ない。。。 自分では上手く説明できない?と不安を抱えながらも、どうしても解決したくて、 ここで質問させて頂いたんです。 ご迷惑おかけして、すみませんでした。

関連するQ&A

専門家に質問してみよう