すでにExcel VBAを使った仮想通貨情報をまとめる方法がブログ等でたくさんあります。
おすすめの記事はこちら。
APIをVBAで使ってこなかった人にもわかりやすく実用的で有益な内容となっております。私はAPIをエクセルで使った経験がなかったためとてもありがたいです。
上の記事でも十分良いのですが、私はテーブルを使うのがあまり好きではないので、テーブルを作成せずセルに文字列と値を入力するだけの表に変えました。表とコードは以下のようになります。
下のように手入力します。コマンドボタンは開発タブの挿入から選択します。
下のコードを標準モジュールのModuleに書き込みます。
API参照先はコインチェックです。
Option Explicit
Sub CryptoRate()
Dim url As String
Dim res As String
Dim R As Long
For R = 0 To 12
url = "https://coincheck.com/api/rate/" _
& LCase(Cells(2 + R, 2)) _
& "_jpy"
With CreateObject("MSXML2.XMLHTTP")
If .Status <> 200 Then Exit Sub
res = "[" & .responseText & "]"
With CreateObject("ScriptControl"): .Language = "JScript"
.Addcode "function getVal(num,key,res){" _
& "var json=eval('('+res+')');" _
& "return json[num-1][key];}"
Cells(2 + R, 3) = _
.CodeObject.getVal(1, "rate", res)
End With
End With
Next
End Sub
実行結果は下のようになります。リアルタイムの仮想通貨のレートが出ました。