Страницы: 1
RSS
Как макросом создать новый документ с таблицей Query в той же папке где и файл?
 
Добрый день дорогие форумчане!

Задача такая, что есть необходимость добавлять новый Power Query документ в туже папку где находиться excel файл с таблицей откуда последующие Query документы будут выгружать данные.
Есть пример Query таблицы на странице IMPERIAL, как все это выглядит. В таблице Query все примитивно. Фильтруется строки по названию компании и удаляются ненужные столбцы.
Для удобства я создал UserForm для добавления компаний на странице CUSTOMERS. Реквизиты добавляются туда.
У меня получилось сделать макрос (конечно же нашел на этом сайте)), который создает простой документ в идентичной папке с файлом, который только раз выгрузит данные. Нет никакой связки, поэтому только набрался опыта)
Однако как делать вышеперечисленное с Query таблицей, то есть со связкой, понятия не имею(
Надеюсь на вашу помощь.

Файл во вложении.
Изменено: Fuad1992 - 14.06.2018 19:11:27
 
Всем доброй ночи!)
Как то сам пытался разобраться и додумался записать макрос макро рекордером.
Все запросы ввелись. Однако начало макроса обозначено красным.
Думаю что все работает, только надо поставить где-то галочку. Помниться мне у меня была проблема с форматом чисел. И я зашел в Tolls -> References и добавил галочку где-то, не мопню где, но после, в формате чисел ошибки пропали.
Помогите мне разобраться с этим. А все остальное я почти нашел) осталось всё это слепить)
Надеюсь на вашу помощь!

Код в Module1
Добавил фото на всякий случай если у вас все нормально будет работать)
Фото с файлом превысили 100кб из-за этого выложу ссылку на гугл диск:

https://drive.google.com/open?id=1zMn5Cubwly4l-_RR45vTUVDs1Xi3fn-f

Спасибо!
 
Вот читаю и ничего не понятно, что за
Цитата
Fuad1992 написал:
новый Power Query документ
или вот
Цитата
Fuad1992 написал:
последующие Query документы
. Что в итоге должно сохранятся: лист, таблица, файл, часть таблицы?
"Все гениальное просто, а все простое гениально!!!"
 
Спасибо за отзыв!
В кратце говоря нужен макрос по созданию отдельного файла с одной Query таблицей в той же папке где и находиться главный файл (NEW QUERY BOOK).

Все это происходит при добавлении новой компании в пользовательской форме которую я сделал.
Как бы по созданию нового файла, к примеру Murad Travel, создается новый документ с таким названием + внутри 1 Query таблица, а там отображается действия Murad Travel.
По идее только что созданная Query таблица, должна быть пустая. И только потом при заполнении главной таблицы (JOURNAL) с именем этой компании она будет заполняться.

Макро рекордер открыл мне глаза) Однако часть кода красного цвета((
 
Уже 3 сутки пыхчусь над красным кодом, так и не понял почему не работает код(
Код писал не я, а макро рекордер.
Не работает((
Help)
 
Доброе время суток
Цитата
Fuad1992 написал:
Уже 3 сутки
не видно в файле-примере кода с той самой ошибкой :(
 
Цитата
Андрей VG написал:
не видно в файле-примере кода с той самой ошибкой
Спасибо за отзыв
Посмотрите ссылку с гугл диска, там есть и скриншот. Возможно у вас работает, а у меня нет.
Спасибо!
 
Цитата
Fuad1992 написал:
там есть и скриншот.
Он не полный.
Цитата
Fuad1992 написал:
Возможно у вас работает,
У меня в доступе Excel 2010, в нём PQ не часть объектной модели Excel. Ошибка, скорее всего, в том, как макрорекордер записывает код запроса.
 
Цитата
Андрей VG написал:
Он не полный
Он полный, просто не работает из-за чего то. Вчера нашел в ютубе видео со схожей процедурой.
Тому подтверждение, что если записать PQ макро рекордером, он работать будет.
Все таки думаю дело в Tolls -> References.

Вот: https://www.youtube.com/watch?time_continue=190&v=feuw8vSEY0g
 
Перезалил файл
 
Всего делов-то кавычки подсчитать. Для тех самых трёх строчек ;)
Код
        "let" & vbCrLf & "    Source = Excel.CurrentWorkbook(){[Name=""JOURNAL""]}[Content]," & vbCrLf & "    #""Changed Type"" = Table.TransformColumnTypes(Source,{{""DATE"", type datetime}, {""ORDER"", type text}, {""ORDER TYPE"", type text}, {""KASSA N "", Int64.Type}, {""INVOICE N"", Int64.Type}, {""INVOICE TYPE"", type text}, {""CUSTOM   SUPPLI"", type text}, {""NAME"", type text}, {""ARRIVAL""" & _
        ", type datetime}, {""DEPARTURE"", type datetime}, {""EXP TYPE"", type text}, {""EXPLANATION"", type text}, {""DEBIT"", type number}, {""CREDIT"", type number}, {""PAYMENT DATE"", type datetime}, {""INVOICE DATE"", type datetime}, {""GUEST NAME"", type text}, {""SALES PERSON"", type any}, {""DAY"", type any}, {""MONTH"", type text}, {""YEAR"", Int64.Type}, {""NOTE""" & _
        ", type any}})," & vbCrLf & "    #""Filtered Rows"" = Table.SelectRows(#""Changed Type"", each ([NAME] = ""MURAD TRAVEL""))," & vbCrLf & "    #""Removed Columns"" = Table.RemoveColumns(#""Filtered Rows"",{""DATE"", ""ORDER"", ""ORDER TYPE"", ""CUSTOM   SUPPLI"", ""INVOICE DATE"", ""GUEST NAME"", ""SALES PERSON"", ""DAY""})" & vbCrLf & "in" & vbCrLf & "    #""Removed Columns"""

 
Уважаемый Андрей!) Заработало!) Какое счастье,, Спасибо вам большое!
Уже который раз спасаете..
Спасибо!)
Страницы: 1
Наверх