Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA Excel QueryTables.add.Refresh BackgroundQuery错误 Sub宏1() 将URL设置为字符串 将路径设置为字符串 作为整数的Dim i 对于i=2到50 如果范围(“价格!E”&i)。值为1,则 URL=范围(“价格!D”&i)。文本 路径=范围(“价格!F”&i)。文本 如果结束 表19.激活 使用ActiveSheet.QueryTables.Add(连接:=_ “URL;”&URL_ ,目标:=ActiveSheet.Range($A$1”)) .Name=_ 路径(&P) .FieldNames=True .rowNumber=False .FillAdjacentFormulas=False .PreserveFormatting=True .refreshinfoleopen=False .BackgroundQuery=True .RefreshStyle=xlInsertDeleteCells .SavePassword=False .SaveData=True .AdjustColumnWidth=True .RefreshPeriod=0 .WebSelectionType=xlEntirePage .WebFormatting=xlWebFormattingNone .WebPreFormattedTextToColumns=True .WebConsecutiveDelimiterSong=True .WebSingleBlockTextImport=False .WebDisableDateRecognition=False .WebDisableRedirections=False .Refresh BackgroundQuery:=False //“在上面的一行 //“运行时错误”1004 //'发生了意外错误 以 接下来我 端接头_Vba_Excel_Excel 2007 - Fatal编程技术网

VBA Excel QueryTables.add.Refresh BackgroundQuery错误 Sub宏1() 将URL设置为字符串 将路径设置为字符串 作为整数的Dim i 对于i=2到50 如果范围(“价格!E”&i)。值为1,则 URL=范围(“价格!D”&i)。文本 路径=范围(“价格!F”&i)。文本 如果结束 表19.激活 使用ActiveSheet.QueryTables.Add(连接:=_ “URL;”&URL_ ,目标:=ActiveSheet.Range($A$1”)) .Name=_ 路径(&P) .FieldNames=True .rowNumber=False .FillAdjacentFormulas=False .PreserveFormatting=True .refreshinfoleopen=False .BackgroundQuery=True .RefreshStyle=xlInsertDeleteCells .SavePassword=False .SaveData=True .AdjustColumnWidth=True .RefreshPeriod=0 .WebSelectionType=xlEntirePage .WebFormatting=xlWebFormattingNone .WebPreFormattedTextToColumns=True .WebConsecutiveDelimiterSong=True .WebSingleBlockTextImport=False .WebDisableDateRecognition=False .WebDisableRedirections=False .Refresh BackgroundQuery:=False //“在上面的一行 //“运行时错误”1004 //'发生了意外错误 以 接下来我 端接头

VBA Excel QueryTables.add.Refresh BackgroundQuery错误 Sub宏1() 将URL设置为字符串 将路径设置为字符串 作为整数的Dim i 对于i=2到50 如果范围(“价格!E”&i)。值为1,则 URL=范围(“价格!D”&i)。文本 路径=范围(“价格!F”&i)。文本 如果结束 表19.激活 使用ActiveSheet.QueryTables.Add(连接:=_ “URL;”&URL_ ,目标:=ActiveSheet.Range($A$1”)) .Name=_ 路径(&P) .FieldNames=True .rowNumber=False .FillAdjacentFormulas=False .PreserveFormatting=True .refreshinfoleopen=False .BackgroundQuery=True .RefreshStyle=xlInsertDeleteCells .SavePassword=False .SaveData=True .AdjustColumnWidth=True .RefreshPeriod=0 .WebSelectionType=xlEntirePage .WebFormatting=xlWebFormattingNone .WebPreFormattedTextToColumns=True .WebConsecutiveDelimiterSong=True .WebSingleBlockTextImport=False .WebDisableDateRecognition=False .WebDisableRedirections=False .Refresh BackgroundQuery:=False //“在上面的一行 //“运行时错误”1004 //'发生了意外错误 以 接下来我 端接头,vba,excel,excel-2007,Vba,Excel,Excel 2007,上面的代码在指定行创建错误。google在.Refresh BackgroundQuery上的搜索显示,它在循环中的功能非常挑剔。简单地删除该行不会在excel中显示任何内容 对于当前的错误消息,代码对于第一个i值工作正常,然后中断 请回答和评论- TLDR:.Refresh BackgroundQuery:=如果查询输入无效或格式错误,则将失败。本例中的问题是for…next循环调用单元格作为url使用,其中没有值。但是,只要查询格式不正确,它就会失败。With语句中前面的所有行都在设置属性。

上面的代码在指定行创建错误。google在.Refresh BackgroundQuery上的搜索显示,它在循环中的功能非常挑剔。简单地删除该行不会在excel中显示任何内容

对于当前的错误消息,代码对于第一个i值工作正常,然后中断

请回答和评论-
TLDR:.Refresh BackgroundQuery:=如果查询输入无效或格式错误,则将失败。本例中的问题是for…next循环调用单元格作为url使用,其中没有值。但是,只要查询格式不正确,它就会失败。

With语句中前面的所有行都在设置属性。
.Refresh BackgroundQuery:=False
是一个方法调用

刷新应刷新结果。
后台查询是查询SQL数据时使用的,是可选的,因此我认为您可以不使用它,而只使用.Refresh

编辑
似乎URL有问题,当它刷新时无法执行。可能是代理问题,或未连接到网络,或URL不存在。

解决此问题的唯一方法是在每次迭代后删除活动查询表。一个有用的示例解决方案提供:


我不知道为什么我的修复程序会起作用,但它是:

我还在for循环中使用了querytables.add,并添加了.asc文件。这个错误只是在最后一次添加之后出现的——所以我的程序基本上按照我的要求执行,但它会中断功能。在上次运行For循环时,我删除了.Refresh BackgroundQuery:=False语句。它有必要通过for循环粘贴我之前所有运行的数据

基本上我替换了这个:

Sub Macro1()
Dim URL As String
Dim Path As String
Dim i As Integer
For i = 2 To 50
If Range("Prices!E" & i).Value <> 1 Then
URL = Range("Prices!D" & i).Text
Path = Range("Prices!F" & i).Text
End If
Sheet19.Activate
With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;" & URL _
    , Destination:=ActiveSheet.Range("$A$1"))
    .Name = _
    "" & Path
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .WebSelectionType = xlEntirePage
    .WebFormatting = xlWebFormattingNone
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = False
    .WebDisableRedirections = False
    .Refresh BackgroundQuery:=False
    //'In the Line above the above
    //'Run time error '1004
    //'An unexpected error has occured
End With
Next i
End Sub
为此:

          .Refresh BackgroundQuery:=False

刷新BackgroundQuery还能做什么?请记住,代码使用电子表格中提供的url,因此如果您希望代码正常工作,则需要输入自己的url,我使用“”作为url,并使用“?tmp=toolbar\u FlvTube\u homepage&prt=flvtubetb04ie&clid=acd050b75c14e5ba9a270e770c9cf6f”由于路径也会将.refresh backgroundquery:=False更改为.refresh=False失败,并在另一个注意事项上给出错误“object不支持此方法”,如果您将for next循环更改为for i=2到2,则代码只需运行find,所以这个问题在某种程度上与…下一个循环有关,我的意思是只使用。刷新你是否意识到你每次都将数据放入相同的范围。因此,您将得到48个查询表,所有这些查询表都指向同一个位置,而问题可能在于无法找到资源。
          If Index = ctr Then

          Else
               .Refresh BackgroundQuery:=False
          End If