アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんは。
マクロも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】サイトのプログラムにこだわる理由はありません。
色々調べてこれがいいのかな?と思っただけですので・・・
宜しくお願い致します。

※添付画像が削除されました。

A 回答 (3件)

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

この回答への補足

orangezzzzさん
目的がわからない・・・?失礼致しました。
マクロもチンプンカンプンなのにAccess?!
今はAccessを勉強するよりも、目的にあったマクロを教えて頂き、
マクロの意味を理解する事に時間を使いたいと思います。
Accessという方法を教えて頂き、ありがとうございました。m(__)m

ちなみに・・・
この質問者の方と同じ事をしたいんです。
 ↓
http://detail.chiebukuro.yahoo.co.jp/qa/question …

でも、やっと見つけた!って思い、回答者の方が貼り付けてくれたURLをクリックしても・・・マクロを見ることが出来ない。。。
自分では上手く説明できない?と不安を抱えながらも、どうしても解決したくて、
ここで質問させて頂いたんです。
ご迷惑おかけして、すみませんでした。

補足日時:2010/02/26 23:57
    • good
    • 0

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

    • good
    • 0

私も#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年かかりますよ、現在チンプンカンプンな方には難しいかと
まずは、基本を覚えないと先に進まない
>マクロの意味を理解する事に時間を使いたいと思います。
このためにも基本を覚えないと無理ではと思います

提示したコードはサンプルですので悪しからず
以上参考まで
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!