2018/02/12
Excelで仮想通貨の資産管理6 -Excel VBA
追記:この記事のプログラムの修正をしました。
プログラム修正 Excelで仮想通貨の資産管理6-2 -Excel VBA
さあ、だんだん完成に近づいてきました。
前回は仮想通貨の保有銘柄の投資額と評価資産額から投資額(元本)を引いた損益額を表示しました。
Excelで仮想通貨の資産管理5 -Excel VBA
今回は各銘柄の損益額の割合をパーセントにして損益率を表示し、その棒グラフも表示したいと思います。
・コード
グラフの参照先は2か所なのでrange同士をunionでまとめています。
円グラフがすでに出ているので棒グラフに"グラフ 2"と名前を付けています。
back1:
For Each CryptoCurrencyNode In CryptoCurrencyJSON
If UCase(Cells(trow, 2)) = CryptoCurrencyNode(arr(2)) Then
For i = 1 To 13
If i <> 5 And i <> 8 And i <> 9 Then
tickerSheet.Cells(trow, i) = CryptoCurrencyNode(arr(i))
Else
End If
Next
val_jpy = Cells(trow, 4) * Cells(trow, 5)
tickerSheet.Cells(trow, 6) = Application.WorksheetFunction.RoundDown(val_jpy, 0)
val_sum = Cells(trow, 6) + val_sum
tickerSheet.Cells(trow, 9) = Cells(trow, 6) - Cells(trow, 8)
ivm = Cells(trow, 8) + ivm
pl = Cells(trow, 9) + pl
trow = trow + 1
GoTo back1:
Else: End If
Next
tickerSheet.Cells(trow, 6) = val_sum
tickerSheet.Cells(trow, 8) = ivm
tickerSheet.Cells(trow, 9) = pl
col = i
For i = 2 To trow - 1
tickerSheet.Cells(i, 4).NumberFormatLocal = "0.000"
tickerSheet.Cells(i, 7) = Cells(i, 6) / val_sum
tickerSheet.Cells(i, 7).NumberFormatLocal = "0.0%"
tickerSheet.Cells(i, 10) = (Cells(i, 6) - Cells(i, 8)) / Cells(i, 8)
tickerSheet.Cells(i, 10).NumberFormatLocal = "0.0%"
Next
'bar chart
Set rng = Range(Cells(2, 2), Cells(trow - 1, 2))
Set rng = Union(rng, Range(Cells(2, 10), Cells(trow - 1, 10)))
ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
ActiveChart.SetSourceData Source:=rng
ActiveSheet.ChartObjects(2).name = "グラフ 2"
ActiveChart.ApplyLayout (11)
ActiveChart.SetElement (msoElementDataLabelOutSideEnd)
ActiveChart.ChartColor = 13
ActiveSheet.ChartObjects(2).Top = Range("H12").Top
ActiveSheet.ChartObjects(2).Left = Range("H12").Left
●実行結果
J列に損益率が表示されました。円グラフの右隣に損益率の棒グラフが表示されました。
VBAを使っているため1シートのみでデータを表示しており、他のシートは使用しておりません。通貨のシンボルと保有通貨量と投資額を入力すればあとはボタンを押すだけで自動で表示できます。
無料・ダウンロード可) 仮想通貨エクセルツール2 各国法定通貨換算可能!仮想通貨価格・時価総額データ表示アプリケーション -Excel VBA