【VBA】借金自動計算プログラムを作ってみた

VBA

こんにちは、kazuです。
本日はVBAの借金自動計算プログラムを作ってみたので、
こちらを解説していこうと思います。

なぜこのプログラムを作ったか

まずどのようなプログラムかをお伝えします。
借金合計金額(画像の赤枠部分(借金金額))を手動で決め
月々の返済額も手動(画像の赤枠(返済金額))で入力をすることにより
残高と返済済み金額を出力してくれます
下記が実際の画像です。

画像を見たところで今回このプログラムを作った理由に入っていきますが、
今現在筆者に借金があるわけではないですが、
以前借金があったときに金融機関から紙毎月この額支払ってくださいっていう紙が送られて来たので
家計簿に入れるためにデータ化したかったんですが、
全て手入力しなければならなくとても面倒なので結局やらなかったんですよね。
当時はまだプログラムスキルがなく自動でやらそうという考えが全くありませんでした。
でちょっとこういうプログラムを作っておくのもいいかということで今回作ってみました。
ちなみにこのプログラムは2時間くらいで作りました(笑)
では作った理由を知ったところで実際にコードを次の章で書いていきます

コードを実際に見てみよう

では実際にコードを見てみましょう!
以下コードが自動的に金額を取得する機能の実装になります。

Sub DebtCalculation()
  ' 返済金額宣言
  Dim RepaymentAmount As Long
  ' 残高宣言
  Dim CellValue As Long
  ' 返済済み金額宣言
  Dim TotalMoney As Long
  ' 返済金額の最終セル番号の宣言
  Dim LastRange As Integer
  ' 借金残高
  CellValue = Cells(3, 6).Value
  ' 返済金額の最後に書かれているセル番号の取得
  LastRange = Cells(Rows.Count, 2).End(xlUp).Row - 2
  ' 返済済み金額初期値
  RepaymentAmount = 0
  Debug.Print "返済金額 セル数"
  Debug.Print LastRange
  
  ' for文の宣言
  Dim i As Integer
  For i = 0 To LastRange
    ' Range(B3) 返済金額 Cells(行番号, 列番号)
    RepaymentAmount = Cells(2 + i, 2).Value
    Debug.Print "返済金額"
    Debug.Print RepaymentAmount
    ' 残高 - 返済金額
    Cells(2 + i, 3).Value = CellValue - RepaymentAmount
    ' CellValueに残高を上書きする
    CellValue = CellValue - RepaymentAmount
    Debug.Print "残高"
    Debug.Print CellValue
    ' 返済金額 + 返済済み金額
    Cells(2 + i, 4).Value = RepaymentAmount + TotalMoney
    ' TotalValueに返済金額を上書きする
    TotalMoney = RepaymentAmount + TotalMoney
    Debug.Print "返済済み金額"
    Debug.Print TotalMoney
  Next
End Sub
kazu
ちなみにですが、Debug.Printというのはデバッグコードです。
JavaScriptでいうconsole.log、JavaでいうSystem.out.printlnみたいなものです。
覚えておいて損はありませんよ!

最後に

いかがでしたでしょうか?
今現在借金がある無しにしてこの機能は応用が利くと思いますので、
もしよろしければ使ってみてください。
ちなみに筆者が次に機能追加するのであれば税金計算の追加をしたいですね!
すみません今回は入れてないです…
最後までご覧いただきありがとうございました。

関連記事

こんにちは。kazuです。 本日はVBAで時間計算を行う方法になります。 今回は何を行うか まず時間を計算をセル上で行うと ↓ のように記載するようになると思います。 今回はそれをVBAでフォームに出して行う とい[…]