支出データをまとめた出納簿(画像左)から、費目別月別のシート(画像右)を作成したいです。
作成方法は以下の通りです。
説明文内の番号(①など)と画像右の番号を一致させています。
・出納簿から費目別①、月別②のデータを抽出する。
・データを日付順③に5行ずつ費目別月別シートに転記する。5行以上ある場合は2枚目のシートを作成する。
・費目毎の該当月におけるデータの通し番号④を付与する。費目Aの3月のN番目のデータが分かるようにする。
・シートごとに小計⑤を計算する。
・月ごとに月別合計⑥を計算する。
・これらの作業を費目A~Cにおいてそれぞれ実施する。それぞれの費目別、月別のシートが作成さることになる。
マクロは少しはわかるのですが、このレベルは私の手に負えません。
どなたかアドバイス頂けると大変ありがたいです。
どうぞよろしくお願いします。
No.5ベストアンサー
- 回答日時:
No4です。
行数が多いので、こちらに回答しました。
http://climbi.com/b/8745/0
実行時は、シートの追加、削除を繰り返しますので、
念のため、動作確認が完了するまでは、bookのバックアップをとり、
実行してください。
「費目別月別シート作成」を実行してください。
実行時は、「出納簿」「フォーマット」のシートが存在することが前提です。
本マクロは、何回も呼び出されることを前提に作ってあります。
その為、費目別月別シートが既にある場合は、それを削除し、新たに費目別月別シート
を作成するようにしています。
費目別月別シートは列幅の自動調整をしています。
もし、これを行わないようにする場合は、
Private Sub output_month(ByVal YM As Long)の中の
'列幅を自動調整する
sh2.Columns("A:D").AutoFit
をコメントにしてください。
簡単に概要だけ説明しておきます。
1.作業行にワークシートを1つ作ります。(最後に削除します)
そこへ1つの種目について3列を使用して、
出納簿のデータを格納します。
A列 B列 C列
日付 内容 支払金額
のように格納します。(見出しはありません)
2つ目の費目はE,F,Gの列を使います。以降、費目が増えるごとに、右へ列を増やしていきます。
その時、どの費目が、どの列を使っているかは、連想配列で管理します。
連想配列の詳細については、VBAと連想配列でネットを検索してください。
費目をキーとして連想配列を2つ作成します。
dicTColはその費目が何番目かの数字を格納します。
(1,2,3の値を設定、1がA,B,Cの列を使用、2がE,F,Gの列を使用、以降同様)
dicTCtrはその費目の件数を格納します。(作業用シートのその費目の行)
2.作業用ワークシートは1か月分だけ格納します。
月が替わったときに、今まで、作業用ワークシートに格納していたデータを
費目順に一気にワークシートへ出力します。
出力後、ワークシート及び連想配列をクリアし、次の月に備えます。
不明点、及び不具合などがあれば、補足してください。
参考用にこちらで確認したときの1例のシートの内容の図を添付しておきます。
できました!完璧です。
連想配列って便利ですね。ピボットテーブルから作成できればとは思っておりましたが、マクロでも似たような機能があるとは知りませんでした。
どうもありがとうございました。
No.3
- 回答日時:
No2です。
No2の質問は無視してください。
>費目別月別シートは、フォーマットを1シート用意して、あとはデータを追加するごとにシートを増やします。シートを増やす際にフォーマットのシートをコピペすることになるかと思います。
なにも書かれていない、フォーマットのシートを事前に人間が作成し、
マクロで、データを追加するごとにシートをコピーして作成する。
と理解しました。
出納簿のシート名は「出納簿」で良いですか。
フォーマットのシート名は「フォーマット」で良いですか。
費目別月別シートのシート名は、"費目"+費目名+連番+yyyy年mm月
で良いですか。
例
費目A-1-2016年1月
費目A-2-2016年1月
費目A-3-2016年1月
手作業とマクロ作業の分担はtatsu99さんの理解の通りで結構です。
出納簿のシートは「出納簿」、フォーマットのシート名は「フォーマット」で大丈夫です。
費目別月別シートのシート名は"費目A-mm月"でお願いします。
例
費目A-1月
費目A-2月
費目A-3月
どうぞよろしくお願いします。
No.2
- 回答日時:
画像の提示ありがとうございました。
1点、確認です。
>費目別月別シートは、フォーマットを1シート用意して、あとはデータを追加するごとにシートを増やします。シートを増やす際にフォーマットのシートをコピペすることになるかと思います。
これは、人間が手作業でおこなうのですか。
マクロでおこなうのですか。
フォーマットを1枚用意するのは手作業で行います(出納簿シートのファイルにフォーマットシートを手作業で挿入する)。
出納簿シートと同じファイルにフォーマットシートを1枚入れておくことを想定しています。そのため、そのファイルには、最終的に、出納簿シートが1枚、費目別月別シートが必要枚数、フォーマットシートが1枚ある、ことになると思います。
フォーマットをコピペして費目別月別シートを増やす作業はマクロで行いたいです。
どうぞよろしくお願いします。
No.1
- 回答日時:
非常に丁寧に質問文が書かれていて、大変好感が持てるのですが、
残念なが、画像が小さすぎて、質問がよくわかりません。
画像を1枚ずつ、再度、提示していただけませんでしょうか。
そうすれば、画像がおおきくなり、鮮明になるかと。
又、各画像でのポイントのセルの位置をA2とか、B3とかの具体的な値で、示して頂けませんでしょうか。マクロの場合、セルの位置が命です。セルの位置がずれると、マクロの実行結果が全く期待外れになってしまします。
又、「それぞれの費目別、月別のシートが作成さることになる。」ということですが、
これは、シートは既にあって、そこに、データを書き込むだけですか。
それとも、シートがない状態なので、マクロでシートを作成するところから行うのですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
特定のシートの削除を禁止した...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルVBAでパスの¥マークに...
-
エクセルのシート名をリスト化...
-
エクセルでファイルを開いたと...
-
前の(左隣の)シートを連続参...
-
VBAでシートコピー後、シート名...
-
EXCEL:同じセルへどんどん足し...
-
シートの保護のあとセルの列、...
-
Excelのシートを、まとめて表示...
-
別シート参照のセルをシート毎...
-
Excelで同じシートのコピーを一...
-
複数シートの特定の位置に連番...
-
エクセル 計算式も入っていない...
-
excelでシート毎の最終更新日を...
-
複数シートの色付きセルがある...
-
【Excel マクロ】 同一book内で...
-
MIDで指定するセル番号を、別の...
-
Accessのスプレッドシートエク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
別シート参照のセルをシート毎...
-
エクセルVBAでパスの¥マークに...
-
Excelで金銭出納帳。繰越残高を...
-
Excelで同じシートのコピーを一...
-
Excelのシートを、まとめて表示...
-
エクセルでファイルを開いたと...
-
Accessのスプレッドシートエク...
-
前の(左隣の)シートを連続参...
-
VBAでシートコピー後、シート名...
-
EXCEL:同じセルへどんどん足し...
-
EXCELで同一フォーマットのシー...
-
シートの保護のあとセルの列、...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで複数設定したハイパーリンク先...
-
複数シートの特定の位置に連番...
-
エクセルでファイル保存時に複...
-
特定のシートの削除を禁止した...
-
エクセルで前シートを参照して...
-
Excel、同じフォルダ内のExcel...
おすすめ情報
tatsu99さん
アドバイスありがとうございます。
画像を再掲します(出納簿、費目別月別シート1、費目別月別シート2を順に掲載します)。
費目別月別シートは、フォーマットを1シート用意して、あとはデータを追加するごとにシートを増やします。シートを増やす際にフォーマットのシートをコピペすることになるかと思います。
どうぞよろしくお願いします。
費目別月別シート1
費目別月別シート2
すみません、費目別月別シートのシート名は、tatsu99さんのご提案とおり、"費目"+費目名+連番+yyyy年mm月の方がいいです。
どうぞよろしくお願いします。