注目の投稿

今まで作成したエクセルツールまとめ

2018/02/03

仮想通貨のデータをエクセルでまとめる1- Excel VBA

私は仮想通貨のレートと自分の資産の増減を知りたいときに、以前は取引所のサイトにログインして見に行っていました。しかし、それではパスワードの入力や2段階認証が面倒なのでエクセルでデータを表示できないかと考えました。エクセルを開いた瞬間すぐに確認できれば便利だなと思いました。

すでに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

実行結果は下のようになります。リアルタイムの仮想通貨のレートが出ました。