查询表Excel调试导入

时间:2017-05-08 19:06:41

标签: excel excel-vba import vba

我使用宏从htm文件导入数据。到目前为止,查询表也工作得非常好。然后我将整个文件移动到一个在线文件夹,它不再工作了。宏停在最后一行,backgroundquery。我认为这与文件移动到在线文件夹有关,速度可能不够快,无法导入数据。但我没有足够的经验来理解那里写的是什么。我刚刚录制了宏。你知道它为什么停止工作吗?

With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;file:///C:/.../.../..." & Datei & ".htm",     Destination:= _
    Range("$A$1"))
    .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
End With

1 个答案:

答案 0 :(得分:0)

它停止,因为它无法加载(.refresh)文件。你检查过文件的路径了吗?

否则可能会出现问题,因为您已经有了一个查询表,并且无法创建/替换旧的查询表。删除旧的查询表并再次运行您的代码。要刷新现有查询表,请使用以下子句:

Sub Refresh()
Dim qt As QueryTable
Set qt = Worksheets("Table1").ListObjects(1).QueryTable

With qt
   .Refresh
End With
End Sub