ビットコイン収益計算表(エクセル)がほしい方はどうぞ

スポンサーリンク

ビットコイン収益計算表(エクセル)

はじめに、この収益計算表はニーズを満たさない可能性が高いです。

各取引所からデータをひっぱってくるようなものではなく手入力用です。マクロの練習で趣味で作ったものになります。もっと便利なウェブサービスや他の方が作った便利なものがあるとは思います。

とくに確定申告についての知識はありません。とりあえず損益がわかればよいのではという思いで作りました。

スポンサーリンク

ビットコイン収益計算表をダウンロードする

内容としては、どの通貨を買ったか選択、どの通貨を売ったかを選択して、通貨枚数に関係なく、日本円でいくら売り買いしたかだけを記録するような表になっています。

こんな感じです。

スクリーンショット

ビットコイン収支計算をダウンロードする

プロシージャの公開

このファイルはlibreofficeで作っており、拡張子は.odsです。

もしかするとエクセルではうまく動作しないかもしれないので、プロシージャを公開しておきます。(色付けやセレクトボックスの作成は手作業でやったほうが速い可能性があります。)

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 = "ビットコイン/アルトコイン収支 " + cstr(i) + "月"
.range("a3").value = "日付"
.range("b3").value = "通貨種類(買)"
.range("c3").value = "購入"
.range("d3").value = "通貨種類(売)"
.range("e3").value = "売却"
.range("f3").value = "損益"
.range("g33").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, 3).value = 0
sheets(i).cells(j, 5).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, 6) = "=c"+cstr(j)+"+e"+cstr(j)
next j: next i
end sub

月々の合計収支

sub month_money
for i = 1 to sheets.count
sheets(i).range("g34") = "=sum(f4:f34)"
next i
end sub

年収支を計算する

sub year_money
dim yearmoney as long
for i = 1 to sheets.count
yearmoney = yearmoney + sheets(i).range("g34")
next i
sheets(12).range("g31").value = yearmoney
end sub

通貨種類のセレクトボックスcopy

sub copy_cell
for i = 1 to sheets.count
sheets(i).range("b4").copy
for j = 4 to 34
sheets(i).paste destination:=cells(j, 2)
sheets(i).paste destination:=cells(j, 4)
next j: next i
end sub

セルの色を変える

sub cells_color_change
for i = 1 to sheets.count
for j = 4 to 34
with sheets(i)
.cells(j, 2).interior.color = rgb(20, 200, 200)
.cells(j, 3).interior.color = rgb(20, 200, 200)
.cells(j, 4).interior.color = rgb(250, 200, 200)
.cells(j, 5).interior.color = rgb(250, 200, 200)
end with
next j: next i
end sub

おまけ

VBAのプロシージャは他の言語でいうメソッドと同じなので、プロシージャ名を列挙するだけで、全てのプロシージャを実行してくれます。

sub call_all_sub
sheet_name_step
sheets_title_name
sheets_date_write
cells_sum
month_money
year_money
cells_color_change
end sub

コメント

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