2013-10-03 5 views
1

Кто-нибудь знает, как остановить таблицу запросов обновления, чтобы постоянно обновлять и обновлять только один раз. он постоянно обновляется, делает мою таблицу Excel медленной.Как НЕ обновить backgroundQuery vba

With ActiveSheet.QueryTables.Add(Connection:= _ 
     "URL;" & FilePath, _ 
     Destination:=temp.Range("A1")) 
    .Name = "Deloitte_2013_08" 
    ' .CommandType = 0 
     .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 

ответ

3

Изменить эту строку:

.BackgroundQuery = True 

к:

.BackgroundQuery = False 
+0

Woops. Я определенно неправильно понял этот вопрос :) +1 за лучший ответ. Мой будет полезен, но не сделает этого. – enderland

+0

@enderland, я ненавижу, когда это происходит :). Но, по крайней мере, у нас есть два смайлика. –

+0

Спасибо @ DougGlancy это сработало! Благодаря :) – Abi

0

Используйте Application.ScreenUpdating, чтобы обернуть свой код.

application.screenupdating = false 
With ActiveSheet.QueryTables.Add(Connection:= _ 
     "URL;" & FilePath, _ 
     Destination:=temp.Range("A1")) 
    .Name = "Deloitte_2013_08" 
    ' .CommandType = 0 
     .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 

application.screenupdating = true 

Вы также можете быть заинтересованы в установлении Application.Calculation к xlCalculationManual перед большой операцией, а затем установить его в xlCalculationAutomatic после того как вы сделали.

Смежные вопросы