Новости:

Форум на данный момент в стадии обновления. Если у Вас возникли проблемы со входом в свою учетную запись - просьба писать на email: info@excel-vba.ru

Главное меню

PQ Не обновляются таблицы после загрузки данных

Автор GREG77, 25.01.2021, 17:24:55

« назад - далее »

GREG77

Добрый день!
Столкнулся с такой проблемой.
Есть файл с настроенной моделью Power Query и макросом, преобразовывающим данные на листе "Исходные данные" в умную таблицу.
Для загрузки данных на лист "Исходные данные" используется ClosedXML https://github.com/ClosedXML/ClosedXML
После загрузки исходных данных таблица перестает обновляться, при этом в самом Power Query данные подгружаются.
Подскажите, в чем может быть причина?

Дмитрий Щербаков(The_Prist)

#1
А какой файл-то смотреть? Вот я открыл "Исходный файл". Макрос там не очень удачный - код может просто не успеть сработать в нужный момент. Лучше его чуть изменить и вызывать по OnTime:
Private Sub Workbook_Open()
   Application.OnTime Now, Me.CodeName & ".CreateLO"
End Sub

Sub CreateLO()
   With Me.Sheets("Исходные данные")
       On Error Resume Next
       .ListObjects.Item("Исходные_данные").Delete
       On Error GoTo 0
       .ListObjects.Add(xlSrcRange, .Range("A1:" & Cells.SpecialCells(xlLastCell).Address), , xlYes).Name = _
           "Исходные_данные"
   End With
End Sub

P.S. ClosedXML более недоступна
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

GREG77

#2
В исходном файле таблица обновляется при изменении исходных данных.
А в изменённом - данные в Power Query обновляются, а в таблицу на лист уже не подгружаются.
Поправил ссылку на ClosetXML https://github.com/ClosedXML/ClosedXML

Дмитрий Щербаков(The_Prist)

Вы напишите подробно - что и где надо изменить, чтобы проселедить цепочку действий и увидеть проблему? У меня в первом файле ничего при открытии не обновляется, т.к. запрос PQ ругается на отсутствие столбца "Атрибут"
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Дмитрий Щербаков(The_Prist)

#4
Может проблема в том, что у Вас только создано подключение? Выгрузки результата запроса на лист нет. Отобразите все подключения(вкладка Данные -Запросы и подключения). Найдите свой -правая кнопка мыши -Загрузить в. Выберите Таблица -Новый лист.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

GREG77

По задумке это должно работать так:
1. Есть исходный файл, где лист "Исходные данные" пустой.
2. В этот файл, на лист "Исходные данные" при помощи ClosedXML загружаются данные.
3. При открытии срабатывает макрос для преобразования листа "Исходные данные" в умную таблицу.
4. Срабатывает автоматическое обновление запроса PQ в выгрузкой таблицы на лист "Оц осн изобр".

Так вот, если в Исходный файл скопировать данные вручную, то все сработает как нужно (приложил исходный файл, где добавил данные вручную).
А вот после загрузки тех же данных через ClosetXML таблица на листе "Оц осн изобр" перестает обновляться.


Дмитрий Щербаков(The_Prist)

Цитата: GREG77 от 25.01.2021, 19:10:02таблица на листе "Оц осн изобр" перестает обновляться
я выше написал причину - у Вас там отсутствует выгрузка запроса на лист, там только подключение. Подозреваю, что именно ClosetXML и является причиной этой ошибки. Потому что запросы не могут выгружаться в другие XML схемы.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

GREG77

Дмитрий, а как-то возможно макросом прописать выгрузку из PQ таблицы на лист?
Я пытался сделать это при помощи макрорекордера, но он не записывает эти комманды.
Либо может есть другой способ загрузки данных на лист Исходные данные, кроме ClosetXML?

Дмитрий Щербаков(The_Prist)

Цитата: GREG77 от 25.01.2021, 20:02:26может есть другой способ загрузки данных на лист Исходные данные
Может и есть, если хотя бы знать что и откуда Вы загружаете...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Яндекс.Метрика Рейтинг@Mail.ru