Страницы: 1
RSS
Power Query - Обновление через макрос
 
Всех приветствую!

Сегодня познакомился с Power Query ) Вещь классная, но не простая.

Создал связь-запрос, чтобы Excel забирала данные из текстового документа. Всё работает.
Поискал в Ынтернетах, как обновить этот запрос из макроса (чтобы руками каждый раз не клацать в шапке "Обновить", а он сам обновлялся между других макросов).
Нашёл толковое видео https://youtu.be/gGQ-SlhZYN4

с вот таким макросом:
Код
Sub RefreshSelectively()

Dim Connection As WorkbookConnection
Dim rng_Refresh As Range

Set rng_refrsh = Range("Обновить_запросы[Обновить_запросы]")

For Each Connection In ThisWorkbook.Connections
    If Not rng_Refresh.Find(Connection.Name) Is Nothing Then
            Connection.Refresh
    End If
Next Connection
End Sub
И мне выдаёт вот такую ошибку!
Object variable or With block variable not set

Вопрос №1 - Кто-нибудь встречал такую ошибку ? Ведь код я повторил буква-в-букву

Вопрос №2 - Каким макросом можно обновить запрос Power Query ? Мне просто нужно обновить! Без нагромождений If/ЕСЛИ ! Не нужно ничего придумывать лишнего. Вот есть какой-то ЗАПРОС - его просто обновить.

Весь день потратил на решение, нашёл только такое видео. А тут на Планете по запросу "Power Query", 8 страниц с форумов. Среди них тоже этим никто не задавался.

Спасибо )
 
Код
Sub updateQueryAll()
    ActiveWorkbook.RefreshAll
End Sub
Код
Sub updateQuery()
    ActiveWorkbook.Connections("Запрос - Таблица1").Refresh
End Sub
а так, запись макроса - классная вещь
Изменено: te1n - 24.06.2023 08:25:02
 
Здравствуйте.
Обновить запрос по имени можно таким макросом (измените имя моего запроса qryTest на имя своего запроса).
Код
Sub RefreshConnections()
    ThisWorkbook.Connections("qryTest").Refresh
End Sub
Также можно обновлять запрос по расписанию без кода в VBA. Как это сделать описано тут:https://baguzin.ru/wp/glava-16-avtomatizatsiya-obnovleniya-reshenij-v-power-query/
Изменено: Alice Sadman - 24.06.2023 08:27:34
 
Цитата
Александр Lurs написал:
Ведь код я повторил буква-в-букву
Сомнительно
Код
Dim rng_Refresh As Range
 
Set rng_refrsh = Range("Обновить_запросы[Обновить_запросы]")
 
RAN, Ох ЁМАЁ! Я балбес! Спасибо большое! Глаз замылился. refErsh
Спасибо мил человек )
 
и снова ошиблись )
 
New, уже 4 утра )
Подскажите в чём ошибка
 
Цитата
написал:
refErsh
Пропущена буква )
 
Юрий М,  
Страницы: 1
Наверх