VBA feat. Power Query
HTML-код
- Опубликовано: 23 июл 2024
- Ролик адресован специалистам, имеющим опыт программирования макросов в MS Excel и разработки запросов Power Query, включая понимание языка "M".
Приглашаем в онлайн-школу Power Excel Training online.powerexcel.training
Бесплатный онлайн-курс «Основы Power Query»: online.powerexcel.training/trial
Содержание:
00:00:00 Введение
00:06:40 Как обновить запрос Power Query из макроса?
00:10:30 Как дождаться завершения обновления запроса PQ?
00:18:50 Как засечь время обновления запроса PQ макросом?
00:26:20 Как создавать, удалять и редактировать запросы PQ макросом?
00:37:50 Как макросом запросить путь к источникам для PQ?
00:50:30 Как запустить обновление запроса PQ при изменении ячейки?
00:56:50 Можно ли результат запроса PQ загрузить в переменную не выгружая данные на лист?
Файлы с примерами тут: yadi.sk/d/wPuYuq69DdmbVw
Дополнения:
1) Как переименовать подключение: • Как переименовать подк...
2) Обработка событий: • VBA: Обработка событий
Ссылки на дополнительные семинары:
Power Query: использование параметров при создании пользовательских функций
• Video
Power Query: относительный путь к папке
• Video
Автоматизация в Excel с помощью VBA и SQL
• Video
Спасибо большое!
За эти 37 минут, урока.
И за опыт. На который потраченно уйма времени и нервов.
я два дня возился пытаясь отследить что запрос обновился.
Отличное объяснение! Помимо прочего, узнал пару мелких, но крайне интересных вещей. Спасибо большое!
Большое спасибо!!!
С удовольствием посмотрел. Большое спасибо.
Спасибо!
Спасибо за урок! Сергей, а как можно проверить, имеется ли на машине пользователя подключенная надстройка Power Query, чтобы можно было запускать или не запускать обновление. К сожалению, в моей компании у большинства пользователей не установлена эта надстройка, а просматривать отчётные данные нужно и им тоже, поэтому хотелось бы, чтобы при нажатии на кнопку обновления они по крайней мере не получали бы сообщения об ошибке.
How to automation connection table power query with button vba?
Добрый день! Бывает, что какой то запрос не обновляется (что то внутри сломалось). Тогда макрос прекращает работу, выдаёт ошибку. Так вот, как дописать макрос, чтобы при ошибке обновления одного из запросов макрос пропускал это, т. е. переходил к следующему запросу, а также записывал куда нибудь в ячейки имя/имена всех таких запросов, которые не обновились из за ошибок?
Большое спасибо! Подскажите, пожалуйста, как переименовывать имена существующих подключений, что бы они совпадали с именем запроса в PQ?
Как например в первом макросе:
ThisWorkbook.Connections("qRunTotalFirstN").Refresh
Леонид, здравствуйте! Ответ тут: ruclips.net/video/ou2FEbT_6mM/видео.html
Здравствуйте! Спасибо вам за видео, очень познавательно! Вопрос: Есть таблица формируемая PQ запросом, там текстовые столбцы, склеенные разным образом, в одном из столбцов есть данные собранные из нескольких, это пути к файлам, но ни обычные пути в этом пути есть данные с переносом (#(lf)), очистка ни возможна, также в этой строке есть кавычки нужные. Подскажите как можно сделать выгрузку только этого столбца в текстовый файл(или csv) одной кнопкой-макрос?
Dmitriy, здравствуйте!
Нужны детали вопроса и пример исходных данных.
Готов оказать индивидуальную консультацию.
Просьба написать на sozh@powerexcel.training
Спасибо, Сергей! Как всегда исчерпывающий ответ! Ссылка на файл не открывается...
Ссылку обновил
BackgrounqQuery = False снимает галку с фонового режима и блокирует файл, пока не завершится обновление. Есть ли решение?
Очень классный урок! Возможно, что-то упустил. До этого обновлял так "ThisWorkbook.RefreshAll", а подскажите пожалуйста как сделать в примере:
With ThisWorkbook.Connections(Что тут должно стоять?).OLEDBConnection
.BackgroundQuery = False
.Refresh
End With
Вячеслав, там нужно указать имя соединения. Но, есть нюансик ruclips.net/video/ou2FEbT_6mM/видео.html
@@PowerExcelTrainingSOZH Большое Вам спасибо, за быстрый ответ! Прошу прощения, возможно я не совсем корректно задал вопрос у меня порядка 10 подключений которые надо обновить. Можно конечно прописать каждое, а как это сделать одним разом.
Решение найдено!!!
Причем VBA ругается только на текс запроса power query
А что делать если много запросов и для каждого запроса нужно менять путь папки, можно ли автоматически запрограммировать изменение пути папки по нажатию кнопки для всех запросов сразу?
Баяман, папка у всех запросов одна и та же?
Рекомендую посмотреть эти ролики:
ruclips.net/video/Tzf2Hjvs7Ms/видео.html
ruclips.net/video/_5x-xcUJ0zw/видео.html
Ещё вариант: создать одно подключение к папке, а остальные запросы сделать как ссылку на этот запрос.
@@PowerExcelTrainingSOZH сделал обновление всех запросов по нажатию кнопки с помощью параметра, который ссылается на умную таблицу, в которой прописаны пути к папкам, соответственно с помощью макроса я сделал автоматическое изменение путей папок в умной таблице, теперь по нажатию кнопки меняются все запросы 💪🏼
@@user-fm6je9dl7l собственно, об этом ролики, которые я рекомендовал