• 締切済み

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

  • エクセルVBAでの自動ファイル保存

    エクセルVBAを使い入力したシート(ファイル)を、一定のデータが 入力された時点で指定した場所に例えば作成日をファイル名にして自動 的に保存していくようにしたいのですが、プログラムはどのようにすればいいのでしょうか? 実現させたいプログラムは、このような感じにしたいです。 1.VBAで指定シートにデータ入力→2.データ数10個で自動的に日付をファイル名にして自動的に保存→3.更に、データ10個追加された時点で前に作成されたファイルを自動で更新→4.データの入力完了で更に自動で更新 2~4のプログラムをご教授お願いします。

  • エクセルのシート間のデータを連動させたい

    二つのシート間でデータを連動させたいのですが、シート2のa1からg1まで日付が入ってます。 同じくシート2のa3からg3まで数量が入っています。 シート1のa1セルに入力規則のリストを使ってindirect関数で、シート2のa1からg1迄の日付が 選択肢入力を使って入れられるまでは出来ました。 シート1のc3セルに関数を使って、シート2のa3からg3迄に入っている数量を、シート1のa1セルの 選択肢入力の日付が変わったら、それも自動で変わって入るようにしたいのですが、 ご教授いただけませんでしょうか。

  • データを各シートに自動振り分け

    データシートA2にデータを貼付けると営業所ごとに各シートにデータを振分してほしいです。データシートは都度上書きとなりますが、振分用シートのデータは上書せずに、最後の行から挿入させたいです。品番が重複するデータが挿入された場合、新しいデータを削除。振分用シートはすべて、5行目が項目行となります。 どのようなコードを作成すればよいのかVBAに詳しい方、アドバイスよろしくお願いいたします。

  • EXCELのシート間の連動

      A    B    C   1 ○○  ×× △△   ←例)X区 2 ●●  ×× ▲▲ というような表が区ごとによって5シート分あります。 新たなデータを入力する場合には、 3 ●●  ×× △△  と入力しています。←※)新たに表へ追加 ここで※を区ごとのシートに入力したと同時に、 5区分の合計シートに※を反映させたいのですが どのようにすればよいでしょうか? よろしくお願いいたします。

  • エクセルで各Sheetへの自動振り分け

    エクセルで次のような作業がしたいのですが相談にのってください。 Sheet1は個人データベースで A列・・氏名 B列・・クラス名 C列以降はその他の情報が続きます。 クラス名がA、B、Cの三つだと仮定して Sheet2はAクラス、Sheet3はBクラス、Sheet4はCクラスに対応させたいのです。 Sheet1のB列にクラスを入力したらその行がクラスに対応するSheetに自動入力(リンク?)させたいと考えています。 例えば Sheet1のB列に「A」と入力したらSheet2に、 Sheet1のB列に「C」と入力したらSheet4に、 自動振り分けしたいのです。 意味が分かりにくい文章ですみません。補足があればしますのでご指導お願い致します。 WindowsXP、MS Office2000で作業してます。

  • シート2のデータを自動的シート1に・・・・・。

    初歩的な質問で恐縮ですが、例えばシート2のC列に入力したデータをシート1のA列に自動的に入力される様にするには、どうしたらいいのでしょうか?

  • EXCELのシート間で連動する方法を教えてください

    EXCELのシート間で連動する方法を知りたいのですが… 具体的には、○○区のシートに□□を入力したら、合計のシートに ○○の□□が反映。 同様に××区のシートに△△を入力したら、合計のシートに××の□□が 反映といった具合です。データを入力するのは○○区や××区です。 これを随時合計シートに反映させる方法を教えていただきたく思い投稿しました。

  • エクセルにてデータを大きい順に並べ替えることを自動でやりたい

    sheet1をデータ入力用のシートとし、以下のデータが入っています。   A  B  C  D 1 あ 5 2 い 4 3 は 8 4  sheet2は上記のBのデータを大きい順に並べ替えた出力用のシートとし、 以下のように出力されます。   A  B  C  D 1 は 8 2 あ 5 3 い 4 4  sheet1のデータが更新されて大きさの順番が変わると、 sheet2の並び順が自動で変わるように出来るのでしょうか? マクロを使わずに数式でやりたいと思っています。

  • excel データを更新→既入力データを連動更新

    excel2007 データを更新したら、別列ですでに入力してあるデータを合わせて更新(移動)させるにはどうすればよいでしょうか。 全員の情報が入っているシート1があります。 シート2~は、シート1の中からそれぞれの担当者のデータA~W列を、関数を使って抜き出しています。 (COUNTIF、INDEX、ROW、LARGEなどを組み合わせています) シート2~のX列には、各担当者が自分で入力するところがあります。 シート1の情報は随時更新します。 社内システムからデータをcsvデータをダウンロードしているのでそれを貼り付けます。 それに対応してシート2~のA~W列も最新化されるようにしたのですが、 これだと、最初に入力してもらったX列とA~W列があわなくなってしまいます。 そこでA~W列を更新した場合、X列が自動的に、もともとのA~W列に対応した行に移動するようにしたいのですが どうすればよいでしょうか。 マクロを使用する技術がなくメンテナンスができないため、できればマクロを使用しない方法でお願いします。

  • エクセルのシート1データをシート2に自動的したい

    エクセルのシート1の日々入力されてくるセルのデータをシート2のセルに自動的に入れていく方法を教えてください。現在は、上記シート1のデータを別帳票のシート2のセルに関数「’X月’!XXX」と入力しています。参考画像を添付したのでご確認ください。

専門家に質問してみよう