МатросНаЗебре, Доброго дня! - приношу извинения за не оперативный ответ - занимался по другому направлению. Код успешно отработал, снял массу вопросов и большую головную боль! Огромное спасибо!!!!!!!
Всем Добрый День! Всё же встал живой вопрос по написанию кода: - Код экспорта значения нескольких фигур в ячейки, расположенные в тех же строках что и фигуры-доноры. То, что должно получиться - схематично в приложенном файле, буду признателен за помощь!
МатросНаЗебре, всё отлично работает для обычной, не текстовой фигуры! Вы мой кумир, огромная Вам благодарность!!!
Почему то мне кажется следующей задачей для меня будет - а можно ли после перетаскивания мышкой нескольких прямоугольников одной кнопкой запустить экспорт данных из них в ячейки на против каждого прямоугольника, ну и конечно же я обращусь с таким вопросом к Вам. Как думаете, возможно ли такое?
Всем добрый день! Возможен ли экспорт значения НЕ текстовой фигуры в ячейку? - во вложении файл с макросом экспорта значения ячейки в ячейку, расположенную на той же строке, что и фигура. В общем и целом все хорошо, но вот работать с тестовой фигурой очень не удобно, хотелось бы заменить текстовую фигуру на простой "прямоугольник" Сам вопрос: - Как откорректировать код, чтоб экспортировать значение НЕ текстовой фигуры в ячейку? Вопрос для альтернативного решение задачи (если из простой фигуры экспорт не возможен): - Как откорректировать код, чтоб экспортировать значение текстовой фигуры которая не выделена, а просто находится напротив кнопки запуска макроса?
Буду благодарен за ваши мысли и помощь в данном вопросе!
PfH написал: Через фильтр собираются данные как за январь, так и за февраль, а нужно, чтобы только за февраль собирались данные.
Самый простой, "разовый" (НЕ универсальный) способ - изменить область охвата формулы. Если со временем Вам потребуется анализировать другой месяц - придется корректировать формулу. Приложенный файл, лист - Лист1 (2).
Jack Famous написал: так, МОЖЕТ потому и не нашли, что каждый такой пишет "Сломался код VBA"?Глядишь, если написать "VBA. Строки кода самопроизвольно изменились(кракозябры)", то ВОЗМОЖНО, другой человек с ТАКОЙ проблемой нашёл бы вашу тему и ему не пришлось бы создавать ещё одну "Сломался код VBA/Проблемы VBA/Помогите/Что делать" и так далее — абсолютно не идентифицирующее …
Вы как всегда правы, именно так и буду поступать, спасибо! что не теряете надежды вразумить неучей без мата.
Искал и нашел огромное количество - здесь, в Ютуб и на просторах сети. Масса проблем и их решения обсуждаются. Но чтоб однозначно такие вот симптомы как у меня - не нашёл, возможно не качественно искал. Приношу извинения всем коллегам, кому своими действиями расшатал дискомфорт.
Еще есть вопрсик и не хочется заводить из-за него отдельную тему. К сообщению прикреплена картинка - это окошко выскакивает при обновлении запроса PQ. Задрало уже... как избавиться?
Различные манипуляции с галочками и выпадающим списком в самом окне - результатов не дали. Вернее результат есть, если файлом пользуется один человек, но как только файл открывают на другой машине - сообщение выскакивает заново.
Дмитрий(The_Prist) Щербаков написал: Никак не починить. Почти уверен, что этот файл открывался на ПК под управлением MAC OS. Она такие бяки в коде с русскими символами делает.
Дмитрий, благодарю за подсказку! неудобно получилось, реагирую с запозданием, у нас тут в Ростовской области локальный армагеддон случился с обледенением, порывом проводов, падением деревьев и прочими подобными радостями..
По поводу MAC OS - действительно, завелось три таких машины, блин, вывести не можем... По мимо этой ситуации были и ещё проблемы с маками - после входа в папки общего доступа заводской сети, эти порченые с одной стороны яблоки, оставляют скрытые файлы ".DS_Store" - о них спотыкаются запросы PQ. Сама по себе, эта проблема, решилась довольно просто - доп. фильтры наименования файлов всё решили, но вот выявить сам факт влияния, и то что в проводнике эти файлы видны только после включения "показывать скрытые файлы" - это потребовало времени. И самое гадкое - последние модификации оси не позволяют пользоваться макросами с этих машин, рубит на входе.
Сегодня обратились с проблемой - не работает макрос обновления данных (код открывает файл в сети копирует умную таблицу целиком и вставляет значениями в таблицу в файле из которого запускается макрос).
Открыл макросы и обнаружил в коде непонятные символы (картинку прилагаю). Собственно, поправил все в течении 15 минут, а вот осадочек остался... потому, что не понимаю причин сбоя и не знаю ждать ли таких кульбитов в будушем.
Буду благодарен за ваши мысли по причинам такой ситуации.
В обведенной области изначально было написано: "Ежедневн Ост Текущ"
Все исправил, но какая-то непонятность начала быть. После нажатия "обновить" открывается файл-источник. Процесс обновления увеличивается по времени кратно. В конце выбивает ошибку.
кароче снёс всё на нах, переделал запрос полностью, теперь работает, радует... Собираюсь по этому поводу как следует отобедать
Maximich написал: Т.е. Вас не смущает, что желающие Вам помочь не видят Вашего запроса?
Вероятно я не понимаю что надлежит видеть. У меня запрос на сборку нескольких одинаковых таблиц в одну. Исходные таблицы находятся в разных файлах. Во всех этих файлах один из столбцов таблицы переименовали. Запрос при обновлении стал выдавать ошибку.
В запросе есть функция, у которой есть сопровождающая надпись "Только подключение", код в расширенном редакторе:
Код
(filename)=>
let
Источник = Excel.Workbook(File.Contents(filename), null, true),
План_Производства1 = Источник{[Name="План_Производства"]}[Data],
#"Удаленные столбцы" = Table.RemoveColumns(План_Производства1,{"Column1"}),
#"Строки с примененным фильтром" = Table.SelectRows(#"Удаленные столбцы", each ([Column10] <> null and [Column10] <> "" and [Column10] <> "0")),
#"Повышенные заголовки" = Table.PromoteHeaders(#"Строки с примененным фильтром", [PromoteAllScalars=true]),
#"Измененный тип" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"Дата начала работ", type text}, {"Дилер", type text}, {"Заявка № стандартный", type text}, {"Заявка №", type text}, {"Контрагент", type text}, {"Примечание (размер, вид и т.д.)", type text}, {"Длина БК, м.", type number}, {"ПЛАН (м/п./день)", type number}, {"1_Этап", type text}, {"2_Этап", type text}, {"3_Этап", type text}, {"4_Этап", type text}, {"Перегородки", type text}, {"Сантехника", type text}, {"Окна", type text}, {"Двери", type text}, {"Эл-ка", type text}, {"Мет. констр.", type text}, {"Готовность_ФАКТ", type text}, {"Отгрузка_ФАКТ", type text}, {"Категория сложности", type text}, {"Суток производства", type text}, {"Коорректировка, суток", type text}, {"Расчетная Дата готовности БК", type text}, {"Column25", type text}, {"Column26", type text}})
in
#"Измененный тип"
Далее идёт сам запрос на основе этой функции, код:
Код
let
Источник = Folder.Files("\\192.168.2.2\производство\Производство БК\ПЛАН РАБОТ+Факт произ-ва"),
#"Строки с примененным фильтром" = Table.SelectRows(Источник, each ([Extension] = ".xlsb")),
#"Строки с примененным фильтром1" = Table.SelectRows(#"Строки с примененным фильтром", each Text.Contains([Name], "План_производства")),
#"Удаленные столбцы" = Table.RemoveColumns(#"Строки с примененным фильтром1",{"Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Content"}),
#"Переупорядоченные столбцы" = Table.ReorderColumns(#"Удаленные столбцы",{"Folder Path", "Name"}),
#"Добавлен пользовательский объект" = Table.AddColumn(#"Переупорядоченные столбцы", "Пользовательский", each План_Производства([Folder Path]&[Name])),
#"Развернутый элемент Пользовательский" = Table.ExpandTableColumn(#"Добавлен пользовательский объект", "Пользовательский", {"Дата начала работ", "Дилер", "Заявка № стандартный", "Заявка №", "Контрагент", "Примечание (размер, вид и т.д.)", "Длина БК, м.", "ПЛАН (м/п./день)", "1_Этап", "2_Этап", "3_Этап", "4_Этап", "Перегородки", "Сантехника", "Окна", "Двери", "Эл-ка", "Мет. констр.", "Готовность_ФАКТ", "Отгрузка_ФАКТ", "Категория сложности", "Суток производства", "Коорректировка, суток", "Расчетная Дата готовности БК", "Column25", "Column26"}, {"Дата начала работ", "Дилер", "Заявка № стандартный", "Заявка №", "Контрагент", "Примечание (размер, вид и т.д.)", "Длина БК, м.", "ПЛАН (м/п./день)", "1_Этап", "2_Этап", "3_Этап", "4_Этап", "Перегородки", "Сантехника", "Окна", "Двери", "Эл-ка", "Мет. констр.", "Готовность_ФАКТ", "Отгрузка_ФАКТ", "Категория сложности", "Суток производства", "Коорректировка, суток", "Расчетная Дата готовности БК", "Column25", "Column26"}),
#"Измененный тип" = Table.TransformColumnTypes(#"Развернутый элемент Пользовательский",{{"Расчетная Дата готовности БК", type date}, {"1_Этап", type date}})
in
#"Измененный тип"
В исходных таблицах (во всех без исключения) изменили наименование одного столбца: Было: Заявка № стандартный Стало: Заявка № стандартный + Вагон/Вагонов
Описал что только смог, может чего ни так, в таком случае прошу вместо порицания подсказки.
Всем добрый день! Подскажите пожалуйста, как и где откорректировать запрос PQ (сборка одинаковых таблиц из разных файлов в одну таблицу) при изменении наименования столбца в исходных файлах. Наименование столбцов заменены во всех исходных файлах (таблицах).
Код нормально работает и на ряду с ошибкой в PQ (Power Query) даёт правильный результат на других листах, где таблицы обновляются макросами.
Можно ли использовать этот принцип получения имени компа в настраиваемом столбце PQ?
В принципе задачу уже решил - сделал запуск обновления сборки PQ через макрос, в этот же макрос вставил код который вытаскивает в ячейку "D18" имя компа. Но ведь хочется совершенства...
AlienSx написал: попробуйте такой вариантКодTable.Max(Folder.Contents("C:\Users"), "Date modified")[Name]
Э.... рано возрадовался, возгордился, и был жестоко приземлён...
Вобщем, такая вот ситуёвина: До сегодняшнего дня всё было более или менее понятно, но сегодня кто бы не запустил обновление (проверены три пользователя) - у всех выбивает абсолютно одинаковое имя.
Возможно ли переписать данный код всё же на имя компа, а не на имя пользователя в сети?
На этот раз всё оказалось довольно просто. У меня в коде имеется строка - вернуться на титульный лист после срабатывания всех обновлений. Сборка PQ - последнее обновление. После отключения в запросе PQ галочки "обновлять в фоне", процесс просто зависает на листе с таблицей PQ (у меня это около15 сек.) ни чего не даёт делать и крутится всем привычное синее колёсико. После окончания обновления сборки, срабатывает код возврата на страницу с кнопкой запуска. Ну и я не стал заморачиваться и информационными боксами, и так всё предельно ясно и понятно.
Ещё раз огромное спасибо всем поучаствовавшим в обсуждении! Задача выполнена и сдана горячо любимому руководству!!
Парни, всех благодарю! Сегодня в ночь свершилось чудо - всё заработало! Что смог: одна кнопка запускает все макросы, затем все PQ сборки.
Одно только гложет - нет внятного критерия окончания обновления PQ. Пользователь видит перед собой титульный лист отчета с цифрами, в самом низу экрана отображается "Фоновый запрос" - процесс обновления PQ - но кто на это смотрит... Этот процесс продолжается минуту-две, и только потом цифры в отчете приобретают окончательный вид. А за пару минут, мой директор со своей тонкой душевной организацией, глядя на убытки в пару-тройку миллионов может сделать/натворить удивительно много...
Собственно вопрос - можно ли получить каким-то образом информацию об окончании обновления PQ, после чего вывести на экран месседж бокс "Обновление закончено". Ну а перед этим иметь на экране бокс "Думайте о светлом, добром, вечном"
написал: "Обновить всё" на вкладке Данные (Data - Refresh All) у вас отсутствует?
Да ту дело такое - этот файл - отчёт. Чтоб отчет собрался нужно обновить 7 листов. 5 листов это импорт данных из одиночных файлов, с таблицами разной конфигурации, реализовано макросами. 2 файла - это сборки Power Query.
На сейчас задача такая - на титульном листе иметь семь кнопок обновления (для каждого листа отдельно). На каждом лист ессно дело иметь отображение когда и кто крайний раз обновлял. С макросами разобрался уже, вот дело дошло до сборок PQ.
Чую следующее задание будет сделать одну кнопку для всего, и ни каких отговорок, что можно пойти, нажать "Данные", потом выбрать "Обновить всё"..
С этим разобрался, но разбранила меня моя старуха, не дает старику мне покою: Дурачина ты говорит, простофиля. Что толку от внешней подачи адреса источника данных, коли нет у тебя кнопочки "Обновить" и надобно лазать опять в тьму беспросветную, дабы обновление запустить...
Добрый день! Поставлена задача сделать так, чтоб источник данных (адрес папки в сети) для сборки Power Query можно было прописывать в ячейке листа, не открывая диалогового окна запроса. Возможно ли это в принципе?
"МенеджерА" настолько низкой квалификации, что даже в такой несложной операции, как изменение адреса в шаге "Источник", умудряются накосячить напрочь, да так, что на голову не оденешь...