fx収支記録をつけるエクセル
vbaでエクセルの式を埋め込むときに文字列でごり押しできます。式展開方法はなにか別のやり方があるのかもしれませんが、文字列でごり押しすることができるので、簡単にプログラムを書くことができます。
計算機能のついたFX収支記録表のダウンロード
前つくったやつを少し改良しました。こんな感じです。
スワップは計算式に入れていません。(スワップはなくてもいいかも)。
各sheetのセルを集計するやり方がわからなかったので、年収支だけはマクロボタン作成で対処しております。
プロシージャの公開
このファイルはlibreofficeで作っています。エクセルで開くとおかしくなるかもしれないので、
sheet名を連番に
sub sheet_name_step for i = 1 to sheets.count sheets(i).name = cstr(i) + "月" next i end sub
各シートにタイトルをつける
sub sheets_title_name for i = 1 to sheets.count with sheets(i) .range("a1").value = "FX収支 " + cstr(i) + "月" .range("a3").value = "日付" .range("b3").value = "利益" .range("c3").value = "損失" .range("d3").value = "スワップ" .range("e3").value = "損益" .range("f33").value = "合計収支" end with next i end sub
各シートに日付を入力する
sub sheets_date_write dim day as string dim x as integer for i = 1 to sheets.count for j = 4 to 34 x = j - 3 day = "2018/" + cstr(i) + "/" + cstr(x) sheets(i).cells(j, 1).value = day sheets(i).cells(j, 1).numberformatlocal = "yyyy/m/d" sheets(i).cells(j, 2).value = 0 sheets(i).cells(j, 3).value = 0 sheets(i).cells(j, 4).value = 0 next j: next i end sub
各シートをクリアする
sub sheets_clear for i = 1 to 12 sheets(i).cells.clear next i end sub
セルを足し算する
sub cells_sum for i = 1 to sheets.count for j = 4 to 34 sheets(i).cells(j, 5) = "=sum(b"+cstr(j)+":c"+cstr(j)+")" next j: next i end sub
月々の合計収支
sub month_money for i = 1 to sheets.count sheets(i).range("f34") = "=sum(e4:e34)" next i end sub
年収支を計算する
sub year_money dim yearmoney as long for i = 1 to sheets.count yearmoney = yearmoney + sheets(i).range("f34") next i sheets(12).range("g34").value = yearmoney end sub
自分でやらなくてもFX会社でcsvなどの取引記録がダウンロードできるかもしれない。
あまり調べてないのですが、FX会社は毎日取引報告書を出していますし、もしかするとcsvとかもダウンロードできるかもしれません。なので手入力で収支計算したい人だけエクセルを使えばよいと思います。
コメント