Excel 如何从网页导入querytable并将其分配给变量(而不是将整个表寻址到电子表格)?

Excel 如何从网页导入querytable并将其分配给变量(而不是将整个表寻址到电子表格)?,excel,web-scraping,vba,Excel,Web Scraping,Vba,我在使用Excel VBA时遇到一些问题,希望有人能帮助我 我正在从网页导入一个表,我想知道是否可以将表分配给变量,而不是将表寻址到电子表格 我使用的命令是: With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://www4.bcb.gov.br/pec/poupanca/poupanca.asp", _ Destination:=Range("$A$1")) .WebSelectionType = xl

我在使用Excel VBA时遇到一些问题,希望有人能帮助我

我正在从网页导入一个表,我想知道是否可以将表分配给变量,而不是将表寻址到电子表格

我使用的命令是:

With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;http://www4.bcb.gov.br/pec/poupanca/poupanca.asp", _ 
     Destination:=Range("$A$1"))
    .WebSelectionType = xlAllTables
    .Refresh BackgroundQuery:=False
End With
执行此操作后,表格将导入单元格A1。 我更愿意导入一个变量,以便在代码中使用,而不必将表中的所有数据打印到电子表格中


有可能吗?

Querytable不是用于将信息存储在变量中,而是用于写入工作表

如果您想使用一个变量,请考虑一个方法,例如如下(get请求,其中表位于位置,并放入变量<代码> HtAd< /Calp>)

选项显式
公共子GetTable()
Dim响应为字符串,hTable响应为对象
使用CreateObject(“MSXML2.XMLHTTP”)
.打开“获取”http://www4.bcb.gov.br/pec/poupanca/poupanca.asp”“错
.发送
sResponse=StrConv(.responseBody,vbUnicode)
以
sResponse=Mid$(sResponse,InStr(1,sResponse,)
Option Explicit
Public Sub GetTable()
    Dim sResponse As String, hTable As Object

    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", "http://www4.bcb.gov.br/pec/poupanca/poupanca.asp", False
        .send
        sResponse = StrConv(.responseBody, vbUnicode)
    End With

    sResponse = Mid$(sResponse, InStr(1, sResponse, "<!DOCTYPE "))

    With CreateObject("htmlFile")
        .Write sResponse
        Set hTable = .getElementsByTagName("table")(0)
    End With
    MsgBox TypeName(hTable)
End Sub