1

我正在尝试实现一个可以从网站导入多个表的代码。我可以使用以下代码来做到这一点。但是,代码太慢了。

Sub FetchData()
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;%url%", Destination:=Range( _
        "$A$1"))
        .Name = "xyz"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlAllTables
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub

有人可以建议一个可以快速输出的代码吗?

4

1 回答 1

0

想到了几个想法,你是否将屏幕更新设置为 false,如果在代码运行时屏幕上发生了很多事情,这真的可以加速代码。

Application.ScreenUpdating = False

第二个想法是您的代码中有很多 '.l 运算符,您是否检查过是否需要全部设置它们或者是否可以删除其中一些。我听说删除不必要的'。操作员可以大大加快代码速度。

于 2013-08-16T23:31:00.287 回答