家計簿アプリ

ExcelVBAで家計簿アプリを作ろう その9-1

家計簿アプリ
スポンサーリンク

家計簿アプリを、より使いやすく自分仕様に改造していきましょう!

以前の投稿で、家計簿アプリとして最低限の機能を持たせることができました。
(その6までをご確認いただいていない方は、まずは下記まとめをご確認ください。)

ただ、これは本当に最低限の機能しかなく、勘定科目も『固定費』と『変動費』しかないので、
各家庭に合った勘定科目を自由に追加できるように
このマクロのデコレーションをしていく必要があります。

前回までで、任意の勘定科目を追加できるようになり、またリストへの追加も非常にシンプルな手順でできるようになりました。

ただ、このような1件1件入力していく場面というのは、
現金で購入してその時のレシートを見ながら入力するときだと思います。

現金を使う場面も多いとは思いますが、最近はクレジットカードや電子マネーで支払いをする場面もかなり増えてきていると思います。
これらについては、大抵の場合、ネット上から購入記録の明細書をダウンロードすることが可能のはずです。

せっかく明細書がダウンロードできるのに、それを見ながら1件1件入力していくのはナンセンスですよね。

なので、ダウンロードしてきた明細書を基に、おおよそでリストに記入できるようにしていきましょう。

【本記事の目標】

明細書から自動入力させる手順のイメージをしよう

簡単なイメージは下記記事に記載していますので、イメージづくりや今回以降の流れの参考に。
また、前回までの記事については下記をご確認ください。



まずはマクロの流れをイメージ

今回作るマクロは少し複雑になってきますので、しっかりと具体的な流れをイメージしておきましょう。

具体的な流れをイメージするときは、
「人間が実際に同じことをするときに、何を考え、どういう操作をするのか」ということをイメージするのが一番です。


では今回のように、ネットからダウンロードしてきたクレジットカードの利用明細の内容を見ながら、今作成しているマクロでデータを入力をするときに、『何を考え』『どういった操作をする』のでしょうか。


普通は、
まずクレジットカード利用明細に書かれている支払い相手先(どこでカードを使ったか)を確認し、ざっくりと何を買った時の履歴なのかを思い出します。
詳細な内容までは思い出せないかもしれませんが、カードを使った場所を見れば、ある程度の分類は可能でしょう(例えば、食料品スーパーでの買い物は、ほぼ間違いなく【食費】でしょう)。
ある程度分類可能な支払い相手先については、その相手先が来た時にどの勘定科目にするか、というのを決めたリストを作っておけば、そのリストを見ながら簡単に勘定科目を決めていくことができます。
リストを作れないような突発の物に関しては、1つ1つ確認していく必要がありますが、
どちらにせよそうやって『支払い相手先から勘定科目を決める』作業をしていきます。

その後、
明細書には使った日付も書いてあるはずですので、その日付を確認していきます。
日付が確認できて、今回登録したい月と同じ月のデータ(勘定科目と金額)があれば、そのデータを各月のシートにコピーしていきます。

全てのデータをコピーし終わったら、ファイルを閉じて終了です。


この流れを、マクロに書くことをイメージしながらより具体的に書いていくと下記のような流れになります。

  1. 事前準備として、支払い相手先の表示名と勘定科目のリストをつくっておく。
    (後ほど、これを見ながら勘定科目を入力していく)
    また、ダウンロードしてきた明細書とそのリストを比較・チェックをするためのシートも準備しておく
  2. ダウンロードしてきた明細書を開く
  3. 明細書と事前準備リストの比較・チェックするため、所定のシートにデータを貼り付ける
    (この時、Excel関数を使えば自動的に事前準備リストとの比較・チェックが可能)
  4. 事前準備リストと比較・チェックしていく
    (Excel関数を使えばすぐに可能)
    事前準備リストにない場合は勘定科目を空欄にして後で記入する
  5. 明細書に記載されている日付を確認し、該当の月のシートにデータを記載する。
  6. 事前準備リストに無く、勘定科目が空欄になっている部分を後で記入していく

イメージを基にマクロ化する部分を考えていく

上記のようにやりたいことの具体的な流れをイメージできたら、
それを基に、『人が操作したい部分、操作すべき部分』『マクロで自動化したい部分』に分けていきましょう。

上記の箇条書きの順でいくと、

  1. 事前準備リストは初めに人が指定してあげる必要があるので、『人が操作すべき部分』です。
  2. ダウンロードしてきた明細書を開く動作はマクロ化が可能なので『マクロで自動化したい部分』になります。
  3. 開いた明細書の内容をExcelシートに貼り付ける動作はマクロ化が可能なので『マクロで自動化したい部分』になります。
    ただし、貼り付ける先のシートは事前に準備してあげる必要があるので、そこだけは『人が操作すべき部分』になります。
  4. 貼り付けた明細書と事前準備リストの照合はマクロでも可能ですが、貼り付け先シートに関数を事前に準備しておけば、「再計算」を実行するだけで照合が可能です。
    ですので、事前準備は『人が操作すべき部分』になりますが、貼り付けた後の「再計算」は『マクロで自動化したい部分』になります。
  5. 日付を確認し所定のシートに記載していく動作はマクロが得意とする繰り返し動作なので、『マクロで自動化したい部分』です。
  6. 空欄になっている勘定科目を入力していく作業は人にしかできないので、『人が操作すべき部分』になります。ただし、入力を手動にすると手間がかかるので、今と同じようにボタンクリックで入力できるようにしておいた方が良いでしょう。その部分だけは『マクロで自動化したい部分』です。

このような形になります。

いくつかの部分で人が事前に準備しないといけないところがありますので、「どういった準備をしないといけないのか」についても語りながら進めていこうと思います。

詳細は次回以降で、と思いましたが、箇条書きの1.の部分だけ今回説明していきます。

1.事前準備リストについて

今回のマクロでまず最初に作っておかないといけないのは、『事前準備リスト』です。

これは、クレジットカードの明細書や銀行通帳の記帳内容を見たときに、「この内容が書かれている場合は、この勘定科目を記載する」ということをあらかじめ指定しておくリストになります。

例えば下記のようなリストを作るイメージです。

このようなリストを作っておけば、A列の内容が記載されている明細書が来れば、その項目はB列に記載されている勘定科目を記入すればいい、とすぐに判別することができます。

ただ、このリストを作るときには1点注意点があり、
明細書に記載されいる標記のままをA列に記入する
必要があります。

これは、例えば「家賃」の場合、
人であれば、家賃、やちん、ヤチン、ヤチン、これらは全て同じものだろうなと判別することができると思いますが、パソコン上ではこれらは全て異なる記号の集合体と認識されてしまいます。
(特に漢字とそれ以外は判別がほぼ不可能です)
ですので、明細書に記載されている表記が半角カタカナで書かれているのであれば、
事前準備リストも半角カタカナで表記しておかないと、マクロで自動的に判別させることができなくなります。

クレジットカードの明細書や銀行の明細書関係は、ほとんどの場合 半角英数、全角英数、半角カタカナ、全角カタカナ で表記されているはずですので、それに倣って事前準備リストを修正するとしたら、おそらく下記のようなイメージ感になるかと思います。

これに関しては、各々で実際に明細書をダウンロードしてみないことには分からないので、事前準備リストを作成される際は、一度明細書をダウンロードしてみて、どのような表記で書かれているのか確認し、それをそのままコピーして事前準備リストを作っていくようにしてください。

このリストは、後々マクロ化して勘定科目を照会する際に使いますので、
家計簿アプリにシートを追加して記載しておきましょう。

事前準備リストが作れたら、次は実際にダウンロードした明細書を開いて操作していくマクロを作っていきましょう。
ここに関しては次回記載していこうと思います。

次の記事へ

コメント

タイトルとURLをコピーしました