2016-02-10 4 views
0

, например, следующий запрос будет создать новый столбец и данные из колонка теперь будет в колонке BExcel VBA Webquey создает новый столбец

With ActiveSheet.QueryTables.Add(Connection:="URL;" & u, _ 
Destination:=Cells(14, 8)) 
    .BackgroundQuery = True 
    .TablesOnlyFromHTML = True 
    .Refresh BackgroundQuery:=False 
    .SaveData = True 
    .FieldNames = True 
    .RowNumbers = False 
    .FillAdjacentFormulas = False 
    .PreserveFormatting = False 
    .RefreshOnFileOpen = False 
    .BackgroundQuery = True 
    .RefreshStyle = xlOverwriteCells 
    .SavePassword = False 
    .SaveData = True 
    .RefreshPeriod = 0 
    .WebSelectionType = xlEntirePage 
    .WebFormatting = xlWebFormattingNone 
    .WebPreFormattedTextToColumns = True 
    .WebConsecutiveDelimitersAsOne = True 
    .WebSingleBlockTextImport = False 
    .WebDisableDateRecognition = False 
    .WebDisableRedirections = False 
    .Refresh BackgroundQuery:=False 
    .AdjustColumnWidth = False 
End With 

возможно, что адрес веб-запроса остается фиксированным, скажем A1

ответ

0

Да. Добавьте .RefreshStyle = xlOverwriteCells внутри вашего предложения. Это заставит внешние данные A1, а не добавлять новый столбец.

+0

Я обновил код, который вы видите выше, однако он все еще не работает. Excel всегда вставляет новый столбец. – XPecto

+0

Предлагаю добавить только одну строку к вашему предыдущему коду. также изменить свойство назначения на диапазон ($ A $ 1). он работал для меня на excel 2010. никакой столбец не был добавлен, новые данные перезаписывают все, что есть на ячейке a1 – EranG