powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как дождаться пока результата запроса вставиться в лист Excel
6 сообщений из 6, страница 1 из 1
Как дождаться пока результата запроса вставиться в лист Excel
    #33345393
VladimirES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
программно создаю запрос и его результыта вставляю на лист.
после чего хочу добавиьт в конец листа формулу суммирования.
для этого пробегаю по ячейкам до конца и вставляя формулу.
Но иногда получается так что снала вставляется формула с итого а потом уже появляються результыт запроса.
Я так понимаю надо после
Код: plaintext
1.
    .Refresh BackgroundQuery:=False
поставить забержку и только после этого делать

Код: plaintext
1.
2.
3.
4.
Row =  2 
While SourceSheet.Cells(Row,  1 ) <> ""
    Row = Row +  1 
Wend

но как заставить ждать когда данные вставяться, я пробовал использовать цикл
Код: plaintext
1.
2.
While .Refreshing
    Wend
но похоже Refreshing ждет когда запрос выполниться а не когда все строки вставяться в лист
...
Рейтинг: 0 / 0
Как дождаться пока результата запроса вставиться в лист Excel
    #33346013
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ActiveSheet.QueryTables.count ?
...
Рейтинг: 0 / 0
Как дождаться пока результата запроса вставиться в лист Excel
    #33346069
VladimirES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5631ActiveSheet.QueryTables.count ?
а при чем сдесь count?
...
Рейтинг: 0 / 0
Как дождаться пока результата запроса вставиться в лист Excel
    #33346183
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirESЯ так понимаю надо после
Код: plaintext
1.
    .Refresh BackgroundQuery:=False
поставить забержку и только после этого делать

Нет, надо сделать ОДИН РАЗ
QueryTables(1).BackgroundQuery:=False
Причем это можно сделать даже мышкой в диалоге настроек запроса.
А потом сколько угодно раз
QueryTables(1).Refresh
и оно будет ждать завершения запроса.
...
Рейтинг: 0 / 0
Как дождаться пока результата запроса вставиться в лист Excel
    #33346930
VladimirES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlНет, надо сделать ОДИН РАЗ
QueryTables(1).BackgroundQuery:=False
Причем это можно сделать даже мышкой в диалоге настроек запроса.
А потом сколько угодно раз
QueryTables(1).Refresh
и оно будет ждать завершения запроса.

Спасибо помогло

а можете пояснить в чем разница между
Код: plaintext
1.
 .Refresh BackgroundQuery:=False
и
Код: plaintext
1.
2.
 .BackgroundQuery:=False
 .Refresh

почему в первом случаее он не ждет завершения запросы а во втором ждет, хотя должно работать одинаково, вроде?
...
Рейтинг: 0 / 0
Как дождаться пока результата запроса вставиться в лист Excel
    #33348586
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, разница в том, что в первом случае ты можешь управлять каждым отдельным рефрешем одной и той же таблицы. А во втором случае, тип рефреша задается однажды для всех последующих рефрешей.

Почему в первом случае не ждало? А фиг его знает :) Возможно глюк самого Экселя. По идее, параметр метода Refresh должен иметь приоритет перед глобальным флагом для данного QueryTable. По идее... В Экселе много глюков :)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как дождаться пока результата запроса вставиться в лист Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]