2018/02/04
ExcelにCryptocurrency market capのデータを出力する2 -Excel VBA
前回はExcel VBAを使ってExcelのシート上にCryptocurrency market capの仮想通貨のデータを出力しました。
前回の内容はこちら↓
ExcelにCryptocurrency market capのデータを出力する -Excel VBA
今回はまたCryptocurrency market capのAPIを利用します。そして日本円のデータを表示し、100位まで表示するのではく10位まで表示したいと思います。
●APIのURLを確認する
Cryptocurrency market capのAPIの説明ページはこちら
前回は下記のAPIのURLを使用しました。
https://api.coinmarketcap.com/v1/ticker/
日本円のデータを表示する場合
APIのURLの最後に?convert=JPYを足します。
https://api.coinmarketcap.com/v1/ticker/?convert=JPY
10位まで表示したい場合
さらに最後に&limit=10を足します。
https://api.coinmarketcap.com/v1/ticker/?convert=JPY&limit=10
●コード記述例
-APIのURLを変更
-配列変数を15から18に修正。
Sub Crypto_JSON_In_Excel()
Dim CryptoCurrencyJSON As Object, CryptoCurrencyNode
Dim WinHttpReq As Object, TickerJSON As String
Dim tickerSheet As Worksheet, arr(18) As Variant
Set tickerSheet = ThisWorkbook.Sheets(1)
arr(1) = "id"
arr(2) = "name"
arr(3) = "symbol"
arr(4) = "rank"
arr(5) = "price_usd"
arr(6) = "price_btc"
arr(7) = "24h_volume_usd"
arr(8) = "market_cap_usd"
arr(9) = "available_supply"
arr(10) = "total_supply"
arr(11) = "max_supply"
arr(12) = "percent_change_1h"
arr(13) = "percent_change_24h"
arr(14) = "percent_change_7d"
arr(15) = "last_updated"
arr(16) = "price_jpy"
arr(17) = "24h_volume_jpy"
arr(18) = "market_cap_jpy"
Set WinHttpReq = CreateObject("MSXML2.XMLHTTP")
WinHttpReq.Open "GET", "https://api.coinmarketcap.com/v1/ticker/?convert=JPY&limit=10", False
WinHttpReq.send
TickerJSON = WinHttpReq.responseText
Set WinHttpReq = Nothing
Set CryptoCurrencyJSON = ParseJson(TickerJSON)
For i = 1 To 18
tickerSheet.Cells(1, i) = arr(i)
Next i
trow = 2
For Each CryptoCurrencyNode In CryptoCurrencyJSON
For i = 1 To 18
tickerSheet.Cells(trow, i) = CryptoCurrencyNode(arr(i))
Next
trow = trow + 1
Next
End Sub
●実行結果
列が長いので間は非表示にしました。
ExcelにCryptocurrency market capのデータを出力する3 -Excel VBA
完成版はこちら
無料・ダウンロード可) 仮想通貨エクセルツール2 各国法定通貨換算可能!仮想通貨価格・時価総額データ表示アプリケーション -Excel VBA