调用特定variablesVBA Rest API

我正在努力了解如何调用一个特定的variables,并在Excel工作表中进行组织。

我需要从这个url购买,出售和卷https://api.blinktrade.com/api/v1/BRL/ticker?crypto_currency=BTC,但我无法find如何分开它。

我正在使用此代码来调用数据

Public Sub btcteste() 'Dim xmlhttp As Object Dim xmlhttp As New MSXML2.ServerXMLHTTP60 Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP") Dim myurl As String myurl = "https://api.blinktrade.com/api/v1/BRL/ticker?crypto_currency=BTC" xmlhttp.Open "GET", myurl, False xmlhttp.send MsgBox (xmlhttp.responseText) End Sub 

它正在工作,但我怎样才能分离variables,并将其粘贴在单个单元格?

谢谢

 Public Sub btcteste() Dim xmlhttp As Object 'Dim xmlhttp As New MSXML2.ServerXMLHTTP60 Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP") Dim myurl As String myurl = "https://api.blinktrade.com/api/v1/BRL/ticker?crypto_currency=BTC" xmlhttp.Open "GET", myurl, False xmlhttp.send Dim data As Variant data = xmlhttp.responseText Debug.Print data ' example data ' {"high": 13400.0, "vol": 616.03500983, "buy": 12830.59, "last": 12899.78, "low": 11800.0, "pair": "BTCBRL", "sell": 12899.78, "vol_brl": 7808332.67293126} ' split at comma (,) , and then split at colon (:) data = Split(data, ",") ' convert to array ActiveWorkbook.Sheets("Sheet1").Range("b2:b4") = Application.Transpose(Array("buy", "sell", "vol")) ' buy, sell and vol ActiveWorkbook.Sheets("Sheet1").Range("c2") = Split(data(2), ":")(1) ' buy ActiveWorkbook.Sheets("Sheet1").Range("c3") = Split(data(6), ":")(1) ' sell ActiveWorkbook.Sheets("Sheet1").Range("c4") = Split(data(1), ":")(1) ' vol End Sub 

试试这个代码。

 Public Sub btcteste() Dim xmlhttp As Object 'Dim xmlhttp As New MSXML2.ServerXMLHTTP60 Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP") Dim myurl As String Dim strText As String Dim vSplit As Variant, v As Variant Dim vR() As Variant Dim n As Integer myurl = "https://api.blinktrade.com/api/v1/BRL/ticker?crypto_currency=BTC" xmlhttp.Open "GET", myurl, False xmlhttp.send 'MsgBox (xmlhttp.responseText) strText = xmlhttp.responseText strText = Replace(strText, "}", "") strText = Replace(strText, "{", "") strText = Replace(strText, Chr(34), "") vSplit = Split(strText, ",") For Each v In vSplit n = n + 1 ReDim Preserve vR(1 To 2, 1 To n) vR(1, n) = Trim(Split(v, ":")(0)) vR(2, n) = Trim(Split(v, ":")(1)) Next v Range("a1").Resize(n, 2) = WorksheetFunction.Transpose(vR) '<~~ this is vertical 'Range("a1").Resize(2, n) = vR '<~~ this is horisontal End Sub