Собственно сабж: Обновление запроса PQ через макрос или горячие клавиши - такое реально? Под горячими клавишами имею в виду, что для каждого запроса задавать индивидуальную клавишу, а не общую на все запросы.
Спасибо.
Спасибо.
28.12.2017 09:13:51
А в чем проблема? Набор маленьких подпрограмм , которые запускают обновления конкретного запроса и привязка их к горячим кнопкам.
По вопросам из тем форума, личку не читаю.
|
|
|
|
28.12.2017 09:39:07
|
|||
|
|
28.12.2017 10:29:56
Включаете макрорекордер. В окошке создания макроса задаете хоткей. Становитесь на выгруженный запрос, правой мышью, "обновить". Бинго
F1 творит чудеса
|
|
|
|
28.12.2017 10:44:54
Осталось только найти свободное сочетание клавиш, а то чего-то все заняты... И порядок с обновлением запросов решен! |
|||
|
|
28.12.2017 11:11:10
Появляется вот такая функция - Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
И если запускать макрос, то обновляет только ТОТ запрос, который выделен,а тот который я указал при записи. |
|
|
|
28.12.2017 11:41:26
Мне пока его запустить не удалось(
Изменено: |
|||
|
|
28.12.2017 12:39:28
sheet2.ListObjects("Table1_2").QueryTable.Refresh
Имя листа и имя объекта (или его индекс) уже сами.
По вопросам из тем форума, личку не читаю.
|
|
|
|
28.12.2017 13:08:14
БМВ, не получается. Файл приложил.
|
|
|
|
28.12.2017 13:50:38
и не должно , ведь у вас там "Таблица1_2", а не Таблица1 на листе
Если на листе один запрос, то используйте .ListObjects(1).QueryTable.Refresh
Изменено:
По вопросам из тем форума, личку не читаю.
|
|
|
|
29.12.2017 06:32:45
БМВ, Понял. Работает. Благодарю!
|
|
|
|
29.12.2017 06:43:58
БМВ, я не знаток VBA, но вот момент - разве нельзя лист называть через пробел? То есть Если
Лист4.ListObjects(1).QueryTable.Refresh - обновляет Лист Новый.ListObjects(1).QueryTable.Refresh - ругается на синтаксис. Это не критично, но интересно. |
|
|
|
29.12.2017 07:40:22
Так как именовать с пробелом можно только лист а не сам объект листа, то в этом случае для обращений по имени используется Worksheets(<SheetName>) . Но у этого метода есть один минус, переименовать лист означает сделать нерабочим код, это надо иметь в виду. В рабочем примере выше используется именно объект книги. Его тоже можно переименовать(но без пробелов), но это более скрыто от глаз. Видеть эти имена и соответвуюзие им имена листов вы можете в редакторе VBA.
По вопросам из тем форума, личку не читаю.
|
|
|
|
14.01.2018 07:30:40
БМВ, Столкнулся с такой проблемой, что не во всех файлах могу обновить запросы.
Выкладываю файл в котором не могу обновить запрос (подключение к внешнему файлу), хотя если сделать новый файл - там все выполняется. Если получится - посмотрите, пожалуйста. |
|
|
|
14.01.2018 09:02:03
Денис, ну нет у вас объекта Лист7 в этой книге. Вы не прочитали внимательно #14 .
И что б не путаться, не называйте запросы как Лист1
Изменено:
По вопросам из тем форума, личку не читаю.
|
|||||
|
|
14.01.2018 14:28:43
БМВ, Понял. Не досмотрел. Спасибо.
|
|
|
|
18.04.2022 19:35:54
Но запросы PQ данный макрос не обновляет. ![]()
В файлах разное количество запросов PQ и по-разному они называются. Подскажите, можно ли какую-то универсальную команду использовать для обновления всех запросов PQ. Заранее спасибо.
Изменено: |
|||||||
|
|
||||||