Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Проверка наличия фильтра в умной таблице VBA
 
Есть задача отслеживать наличие фильтрации в умной таблице и менять стиль таблицы.
думал что по Worksheet_SelectionChange получится проверять, но все что нашел на форуме не работает для умной таблицы.
по идее надо чтобы getActiveFilterCount выдавал 1 или более по количеству установленных фильтров в умной таблице
но что именно в эту функцию записать - пока загадка

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 i = getActiveFilterCount
 If i <> 0 Then    ActiveSheet.ListObjects("Таблица1").TableStyle = "TableStyleLight10"
              Else     ActiveSheet.ListObjects("Таблица1").TableStyle = "TableStyleLight9"
 End If
End Sub
Изменено: Павел Воробей - 25.08.2024 19:26:37
Расчет средней наработки на момент времени в прошлом, Как пользоваться суммеслимн для вычисления по условию
 
пример в 11 сообщении.
Есть массив данных о смонтированном оборудовании. он содержит в строках тип оборудования а в столбцах даты монтажа запуска остановки и демонтажа.
столбец наработка вычисляется на момент выгрузки отчета в доп колонку. для остановленного оборудования наработка считается с момента запуска до остановки. для работающего с момента запуска до даты отчета.

Вопрос как посчитать среднюю наработку по множественному условию понятен и легко выполняется через суммеслимн и счетеслимн.
а вот задача посчитать наработку на действующем фонде оборудования на момент времени в прошлом. (на конец каждого месяца начиная с 2015 года и до сегодня) не понятна. и тем более непонятно как посчитать медианную наработку.
т.е. надо посчитать разность между заданной датой конца месяца и датой запуска для всего оборудования у которого нет остановки на момент времени.
или хотя бы получить массив чисел с наработками оборудовани для последующей обработки.
Изменено: Павел Воробей - 10.04.2023 12:36:02
Проверка синхронизации файла при работе с OneDrive
 
При обработке файла посредством PowerQuery использую конструкцию:
Код
    Content = if Text.StartsWith(fParam("Path"),"https://") then Web.Contents(fParam("Path")) else File.Contents(fParam("Path")),
    Источник = Excel.Workbook(Content, null, true),
НО
если файл еще не синхронизировался в папке - выдает ошибку доступа к файлу.

каким образом обойти этот момент?  
Проверка наличия файла на OneDrive или внешнем сервере
 
Коллеги,
добрый день.
автоматизирую манипуляции с выгрузкой 1С
формат файла для последующего использования требует пересохранения. иначе не работает PowerQuery.
но т.к. файл очень объемный нужно добавить в макрос проверку наличия файла с выгрузкой 1С на сервере и наличие пересохраненного файла у пользьзователя. Но почти все пользователи в компании сидят на OneDrive (Sharepoint)
Dir - ругается
чем и как сделать?
Изменено: Павел Воробей - 16.02.2023 10:22:23
Кнопка обновления запросов, Нужно сделать так чтобы обновление проходило последовательно сначала запросы в определенном порядке. потом одни сводные, потом другие сводные
 
В файле много запросов некоторые из которых очень большие и несколько этапов вычислений в том числе через сводные таблицы.
Один запрос преобразует файл с данными из отчетов 1С, другой обрабатывает уже обработанное ит тд.

нужно чтобы обновление проходило последовательно сначала запросы потом одни сводные потом другие сводные.
сейчас если заменить файл отчета, то только после трех нажатий обновить все запросы и таблицы обновлябтся.
Power Query и создание таблиц с датами, Нужна подсказка как создать список дат концов месяца от даты до даты
 
Добрый день.
есть задача автоматизации построения дашборда из отчета 1С
после первичной обработки собираем в запросе PQ несколько таблиц в одну и преобразуем в нужный вид.
на основе результата такого запроса строим несколько базовых графиков дашборда. с этим справился.

далее нужно сделать вычисляемую таблицу где по периодам будет осуществляться подсчеты.
нужен шаблон таблицы где будет список дат концов месяцев за период отчета по каждому заказчику

Что-то подсказывает что для этого необходимо через запрос создавать таблицу в которой:
1) есть все заказчики (это самое простое, фильтруем все лишнее оставляем список заказчиков в виде списка или таблицы)
2) вытаскиваем стартовую дату отчета из столбца с датами (справился фильтрованием, в итоге получил таблицу из одной ячейки с датой)
3) вытаскиваем конечную дату отчета из столбца где прописана дата выгрузки ((справился фильтрованием, в итоге получил таблицу из одной ячейки с датой)
4) создаем список дат
вот тут нужна собственно подсказка как создать и как сделать в списке только даты конца месяца.

можно просто подсказки где искать и про какие функции читать.
пример того что должно получиться если в отчете начальная дата 01.01.2021 а конечная 31.12.2022
заказчик 131.01.2021
заказчик 128.02.2021
заказчик 131.03.2021
заказчик 130.04.2021
заказчик 131.05.2021
заказчик 130.06.2021
заказчик 131.07.2021
заказчик 131.08.2021
заказчик 130.09.2021
заказчик 131.10.2021
заказчик 130.11.2021
заказчик 131.12.2021
заказчик 131.01.2022
заказчик 128.02.2022
заказчик 131.03.2022
заказчик 130.04.2022
заказчик 131.05.2022
заказчик 130.06.2022
заказчик 131.07.2022
заказчик 131.08.2022
заказчик 130.09.2022
заказчик 131.10.2022
заказчик 130.11.2022
заказчик 131.12.2022
заказчик 231.01.2021
заказчик 228.02.2021
заказчик 231.03.2021
заказчик 230.04.2021
заказчик 231.05.2021
заказчик 230.06.2021
заказчик 231.07.2021
заказчик 231.08.2021
заказчик 230.09.2021
заказчик 231.10.2021
заказчик 230.11.2021
заказчик 231.12.2021
заказчик 231.01.2022
заказчик 228.02.2022
заказчик 231.03.2022
заказчик 230.04.2022
заказчик 231.05.2022
заказчик 230.06.2022
заказчик 231.07.2022
заказчик 231.08.2022
заказчик 230.09.2022
заказчик 231.10.2022
заказчик 230.11.2022
заказчик 231.12.2022
Изменено: Павел Воробей - 09.01.2023 07:29:29
Получениет серии данных из одной сводной но при разных срезах и при пересчете в исходной таблице,
 
Есть массив данных на основе которого можно и нужно строить сводные таблицы
в массиве присутствуют даты начала и даты завершения события 1
при этом есть еще одно событие(№2) дата которого указана в том же массиве и она находится в диапазоне дат события 1

чтобы получить срез состояния на определенную дату (Дата1) нужно вычислить формулу в исходной таблице (наработка события 1 на дату1) и настроить фильтрацию дат начала и конца события
например нужны все строки где начало события до Дата 1, дата завершения еще не случилась т.е. все пустые даты и все даты после Дата 1, и наработка вычисляется по формуле Дата 1- дата начала события 1.

мне необходимо получить серию данных на конец каждого месяца за последние три года.
пока я делаю это вручную, передвигая ползунки срезов и пересчитывая сводную таблицу.
но подобных вычислений мне нужно сделать больше двух десятков из разных таблиц.

есть ли способ как упростить себе жизнь?
Страницы: 1
Loading...