• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelで金銭出納帳。繰越残高を翌月へ・・・)

Excelで金銭出納帳。繰越残高を翌月へ...

このQ&Aのポイント
  • Excelを使用して金銭出納帳を作成し、独自の方法で繰越残高を翌月へ持っていく方法を探しています。
  • シートをコピーして使用する際に、「Sheet1!A1」の数式が使えないため困っています。
  • 自動化された入力方法を探しており、連続した数字や繰越額を新しいシートに自動で入力する方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>毎回入力すればいいのでしょうが、できれば自動で入力させたいです。 自分がいま何月だから,自分が欲しい「先月」は「いったいなんて名前のシートなのか」が判れば良いワケです。 一番簡単な方法として「1月はシート1」じゃなく,例えば「201301」というシート名の付け方をします。 こうしておくと自分のシート名を計算させて,例えば3月シート(201303)からは201302シートを見に行けば良いと計算できますし,1月シート(201301)から「間違って」201312シートを見に行ってしまうことも無くなります。 手順: 201301,201302シートを用意する ブックを「必ず」一回保存しておく 「先月」が無い201301シートの先月繰越額欄には手で数字を記入する 201302シートに =INDIRECT((RIGHT(CELL("filename",A1),6)-1&"!A1")) と数式を記入 201202シートをコピーし,シート名を201303に変更する。 もう一つの方策としては,マクロを併用して例えば「一枚左隣のシートの指定のセル」を見に行くユーザー定義関数をブックに登録して利用する事もできます。マクロを使うこと以外は,こちらの方があなたの「希望していた内容」に近いかもしれませんが,こういう事を普段使いの中だけで行う機能は,エクセルにはありません。またこの方策では,シートが必ず例えば「左から右に並んでいる」のが前提です。 手順: ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける function getleft(byval Target as excel.range) as variant getleft = target.parent.previous.range(target(1).address) end function ファイルメニューから終了してエクセルに戻る セルに =getleft(A1) のように記入する。

pochi-chan
質問者

お礼

お礼が遅くなってしまい、大変申し訳ありません。 マクロに関しては全く分からないのが現状ですが、これを機に勉強したいと思います。 とりあえず、INDIRECTを使用している手順を実行しました。 うまくいきました! 関数に関してもまだまだ勉強不足ですね・・・ 具体的な手順までご教授いただき本当にありがとうございました!

その他の回答 (1)

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.1

マクロを使えばできるんですが、それ以前に。 翌月繰り越しの残高って1種類だけですか? 種類が少ないなら、例えば「前月末残高」というセルをA1か何かに 作って置き、シート内で前月末を参照する場合、必ずA1を参照する ようにしておけば、シートをコピーしたときに直すのは、そのA1セル だけで済みます。 要は「シート間参照」を最小箇所にするように設計しておくってコト ですね。 マクロを使う場合も、シート間参照は少ない方がコードが短くなるので そういう設計はやっておく方がいいですよ。

pochi-chan
質問者

補足

残高は1種類のみです。 その月の最終日(私の場合は給料日の前日)に計算した残高を翌月に繰り越したいのです。 繰越にこだわるのは、できるだけ正確に、月に使えるお金がいくらかというのを出したいからです。 やはり入力された数字を活かして・・・というのは無理ですかね。 私はExcel初心者なのでマクロが良く分かりませんが、これを機に習得したいです。 よろしければ教えていただけませんか?

関連するQ&A