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

Страницы: 1
Разработка макроса для переноса данных из трех сводных таблиц (по единой базе данных) с созданием отдельного файла для каждого варианта фильтрации с название организации
 
Не актуально

Добрый день.
Прошу рассмотреть ТЗ и дать предложения.
Из-за ограничений форума ссылка для скачивания файла примера и видео текущего процесса - https://   disk.    
Если что-то внизу неточно - напишите.

Техническое задание (ТЗ) на разработку VBA-макроса для Excel
---
# 1. Цель  
Автоматизация процесса фильтрации данных по организациям, сведение показателей и сохранение фильрации в отдельный файл.
---
# 2. Текущий процесс пользователя
1. Выбор организации: Вручную применяет фильтр по столбцу выбирая одну организацию.
2. Фильтрация данных: Данные фильтруются по предустановленным критериям в срезах на листе "Слияние 1 мес".
3. Расчет показателей:
  - Количество исследований по каждой модальности берется в столбце N с листа "Слияние 1 мес"→ записывает в столбец D на листе «Приложение 1».   внешнего файла. Название создаваемого файла должно совпадать с названием выбранной организации в срезе. Шапка файла формируется по отдельному шаблону (пример есть в каталоге \\3.Exports)
  - Номенклатура (организация) и количество исследований без дозы по модальности → записывает в столбец A и B на листе «Приложение 1» внешнего файла.
4. Сохранение файла: Сохраняет файл с именем выбранной организации.
5. Переход к следующей организации: Повторяет шаги 1-4 для новой организации.
---
# 3. Требования к макросу  
## 3.1. Входные данные.
 - Лист "Слияние 1 мес" с исходными данными по нескольким срезам одной базы данных:  
 - Срез «Месяц заключения» и "Head MO" может изменяться
 - Столбец с названием организации при выборе в срезе выводится в → A, строка 25. (можно использовать для имени файла)
 
Вывод во внешний файл
- Лист «Приложение 1» создаваемый для сохранения данных в отдельном файле с перенесенными данными по выбранной МО:
Вид   исследованияЧисло пустых   полей, шт.Доля от общего   числа исследований, %Общее число   исследований, шт.
- Столбец А → переносится вид исследования взятый из столбца I (начиная со строки 10 и названием модальности)
- Столбец B → количество исследований без дозы из листа "Слияние 1 мес" столбца B (со строки B10) по соответствующей модальности (например,КТ, ПЭТ итд те всех тех, что есть в предыдущем пункте начиная с I10
- Столбец C → расчет % от строки (например =B5/D5) в формате Х,Х%
- Столбец D → данные по каждой модальности и общее количество исследований из столбца N листа с исходными данными
Далее
- на строке 13 шапка таблицы по шаблону
Головная   медицинская организацияМедицинская   организацияМодель аппаратаВид   исследованияНазвание   исследованияНомер   исследования в ЕРИС ЕМИАССтатус   исправления
(пример файла есть в каталоге \\3.Exports )

## 3.2. Логика работы макроса  
1. Получить выбранную организацию:  
  - Определить активный фильтр в столбце организаций (столбец A) или по срезу.  
  - Если фильтр не применен → вывести ошибку: *«Организация не выбрана»*.

2. Применить фильтры и рассчитать показатели:
  - Общее количество исследований: Количество отфильтрованных строк (исключая заголовок).
  - Исследования без дозы определяются выбранными срезами на листе ": "Статус доз" -> "2.Еэфф не внесена" и "CCT CODE" -> 96094

3. Экспорт в лист «Приложение 1»:  
  - Использовать шапку как в файла в папке //3.Exports/
  - Записать данные:  
    - Столбец A → название организации.  
    - Столбец B строки с 5 по 10 → количество исследований без дозы.
    - Столбец D строки с 5 по 10 → общее количество исследований.
    - Столбец A по F со строки 14 → заполнение данными из листа с исходными данными по выбранной, Головная медицинская организация, Медицинская организация, Модель аппарата, Вид исследования, Название исследования,  Номер исследования.  
    - Сохранить структуру названия модальностей (КТ, ПЭТ итд) как было в листе исходных данные по столбцу I, при отсутствии данных без дозы оставлять "0" для количества исследований.

4. Сохранение файла:  
  - Сохранить рабочую книгу с данными как: "Приложение 1 - [Название организации].xlsx"
  - Формат имени: Удалить запрещенные символы (например, “,”,\, /, *, ?).

5. Действия по фильтру по среза с Организацией:  
  - не сбрасывая фильтр, дождаться через 10 секунд выбора новой организации и пройти по ней цикл снова. При этом более 1 раза не проходить цикл с уже выбранной организацией.  

## 3.3. Выходные данные  
- Лист «Приложение 1» с добавленными данными, очищаемый и перезаписываемый новыми данными.
- Отдельный файл Excel для каждой организации.  
---
# 4. Требования к обработке ошибок  
1. Проверка активного фильтра:  
  - Если фильтр не выбран → сообщение: *«Выберите организацию!»*.  
2. Проверка листа «Приложение 1»:  
  - Если лист отсутствует → создать автоматически.  
3. Контроль дубликатов:  
  - При сохранении файла, если имя существует → добавить суффикс (например, _1).  
---
# 5. Интеграция  
- Запуск макроса: Через кнопку на панели инструментов Excel, сочетание клавиш (например, Ctrl+Shift+R), в идеале вынести кнопку рядом со срезом МО
---

# 6. Тестовые данные  
- Как на видеофрагменте и подкаталогах примеров по ссылке.
---
# 7. Нефункциональные требования  
1. Производительность: Обработка до 50 000 строк за ≤ 10 сек.  
2. Совместимость: Excel 2016 и выше.  

---
# 8. Дополнительные условия  
- Макрос должен сохранять исходные данные без изменений.  
- Логирование ошибок в отдельный файл (если возможно).  
---  
Изменено: Кирилл - 04.07.2025 00:48:22
Парсинг по сайту с добавлением ссылки второго уровня на странице
 
Доброго времени суток.
В листе "Table 2" хочется видеть в виде "Table2 (ожидаемый)" c аналогичной шапкой, полным текстом приложения и дополнительной ссылкой на каждое приложение.
Но внутри на странице которую парсится есть ссылка на еще одну страницу с полным приложением. Нужно его достать как то.
Срабатывание макроса VBA при появлении в буфере обмена новой информации
 
Здравствуйте!
Прощу помощи. Макрос VBA должен срабатывать при появлении новой информации в буфере обмена из стороннего приложения.
В буфер из приложения приходит 1 строка из 2х столбцов. В 1ом цифры (положительные или отрицательные) с разделителем в виде точки или запятой (в зависимости от локали). Второй столбец с любым текстом необходимо отбросить. При приходе информации состоящей из других данных (не их 1 строки и 2 столбцов) - ничего автоматически не вставлять из буфера обмена в активную ячейку.
После вставки новой пришедшей инфо из буфера обмена в активную на текущий момент ячейку (при нахождении курсора в столбцах D-Q на активном листе всех листов книги) необходимо переместить активную ячейку вниз на 1 строку и ожидать поступления новых данных из буфера обмена.
При невыполнении условия нахождения текущей выбранной ячейки в диапазоне - ничего не вставлять.
Макрос необходимо выполнять на активном листе книги (при нахождении курсора в столбцах D-Q) при появление новых данных в буфере примерно раз в 10-20 сек.
То что в файле - как работает сейчас при ручной вставке из буфера обмена.
Спасибо.
Изменено: Кирилл - 25.11.2024 14:02:07
Срабатывание макроса при появлении в буфере обмена новой текстовой информации
 
Добрый день. Прошу помощи.
Макрос должен срабатывать при появлении новой информации в буфере обмена из стороннего приложения.
В буфер из приложения приходит 1 строка из 2х столбцов.
В 1ом  цифры с разделителем в виде точки или запятой. (от локали). Второй столбец можно отбросить.
После вставки новой пришедшей инфо из буфера обмена в активную на текущий момент ячейку (для столбцов D-Q)  курсор необходимо переместить вниз на 1 строку.
Если выделяется какая-то другая ячейка (например что-то кроме столбцов D-Q) на этом или соседнем листе, то ничего не должно происходить пока не придут новые данные в буфер обмена и курсор не будет в диапазоне столбцов D-Q. Появление новых данных в буфере примерно раз в 10-20 сек.
Спасибо.

PS: тут что-то нашлось но как это применить - не понимаю :(
https://qna.habr.com/q/231080
Изменено: Кирилл - 19.11.2024 21:52:09
Выгрузка через PQ из папки с несколькими архивами zip, файла с одинаковым названием и формированием файла с единой шапкой
 
Всем доброго дня!
Прошу помощи.
Вроде указываю название файла при вызове функции, но в результате null.
Необходима выгрузка из папки с несколькими архивами zip, файла с одинаковым названием и сформированать файл с единой шапкой
Добавления в АГРЕГАТ(17;3;D5:D4999;3) выбор диапазона ячеек по условию.
 
Добрый день.
Прошу помочь советом, необходимо в формуле ячейки D2= АГРЕГАТ(17;3;D5:D4999;3) добавить условие учета ячеек по столбцу $D только при наличии числа элементов по строке в столбце $C более 50 (отметил желтым).
Пример во вложении.
Поиск по двумерной таблице и интерполяция
 
Всем привет.
В п.3 выбирется значение в выпадающем меню. в п.4 вносится значение кВ.
В таблице по указанным выше значениям с помощью интерполяции ищется нужное значение коэффициента перехода и считается значение в п.5.
Пока получилось сделать интерполяцию по первой строке из п.3
Помогите как сделать автоматический поиск коэфициента перехода по всей таблице при выборе в п.3
Спасибо.
Изменено: Кирилл Толкачев - 15.07.2023 00:21:41
Обработка списка файлов в каталоге со сведением в единый суммарный файл (возможно лучше в PQ+модель данных)
 
Доброго дня.
Нужно разобрать файлы в каталоге DATA и обработать все вкладки 2100, 2200, 2300, 2400, 3100, 3200, Форма РГП в едином файле из корня.
Как должно примерно выглядеть отражено во вкладках "3-ДОЗ Свод.xlsx". (Посчет отражен желтым)

Суммарные значения во вкладках 2100,2200,2300,2400,3100,3200 - не посчитаны. Остались данные от старых сводных таблиц.

По срокам - неделя.
Изменено: Кирилл Толкачев - 06.02.2023 07:46:48
Условное форматирование пустой ячейки по значению соседней ячейки, а также в зависимости от диапазона значений (кроме пустых данных)
 
Добрый день всем!
Прошу помощи.

В файле примера во вкладке 2200 в столбце N нужно пометить оранжевым, если в столбце М есть рассчитанные суммарные значения. В том же столбце c gjvjom. УФ уже подсвечивается красным если значения столбца N больше M. Для примера в столбце О выделил оранжевым нужные строки.

На вкладке "ср.дозы взр." в столбце D нужно пометить УФ красным цветом значения менее столбца S и больше столбца T . Если данных нет в столбце D - красным ячейка не помечается. Для примера в столбце М выделил красным нужные строки.
Изменено: Кирилл Толкачев - 07.01.2023 12:36:08
Условное форматирование на соседних листах
 
Всех с наступающим!
Помогите, пожалуйста, с условным форматированием в двух таблицах на соседних листах. При наличии информации с кол-вом в одной из них - на соседнем листе должно происходить выделение цветом соответствующей ей ячейки . Ожидаемый результат отразил рядом на каждой из вкладок. версия 2007
Изменено: Кирилл Толкачев - 31.12.2022 12:14:51
Синтаксис ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ из номеров строк и столбцов (с многострочной шапкой) с переносом данных в отдельную таблицу
 
Доброго времени суток!
Помогите с синтаксисом ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ

В табл 3 нужно заполнить желтые ячейки через ссылку на номера столбцов и строк. Столбцы 1-4 заполнил через ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ.
Далее столбцы с 5-8 нужно заполнить данными ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ ссылаясь формулами на номера столбцов и строк табл 3.
Маппинг по двумерной таблице с последующей обработкой реестра исследований, со сведением в таблицы с многострочной шапкой
 
Всем доброго времени суток.
Прошу помощи. Во вкладке "RAW_КДН" реестр с большим кол-вом строк и столбцов. На вкладке "Маппинг ИД" отмечена принадлежность "Исследование" к строкам и столбцам из "(2100)" и "(2200)". В первом из них суммарные значения по "Доза", во втором - кол-во исследований по видам. Нужно заполнить желтые поля. Файл во вложении.
Не могу никак логически подобрать структуры обработки. Предложите пожалуйста как видите решение, и, если возможно, рабочий вариант. Через PQ, массивы, разделенные ячейки сводных таблиц.....
Изменено: Кирилл Толкачев - 02.12.2022 21:22:58
Разбор с помощью PQ каталога с файлами xlsx. Импорт с фиксированного листа книги первых 11 столбцов с нескрытыми строками (с удалением картинок и графиков)
 
Всем привет.
Нужна ваша помощь. Часть кода уже готово, но к сожалению, не работает как ожидается.
Разбор с помощью PQ каталога с файлами xlsx (могут лежать любые файлы). Импорт с фиксированного листа (ДОЗА ПАЦ) каждой импортируемой книги первых 11 столбцов с нескрытыми строками(могут быть, и может не быть скрытых) (с удалением картинок и графиков) в отдельный файл выгрузки с указанием в первых его столбцах пути и даты изменения файла. Из строк до начала таблицы с показателями извлечь администативную инормацию (Заказчик, Название аппарата, Заводской номер (могут быть в разных местах книги)) и добавить в отдельный стобец для каждого выгружаемого файла. В некоторых таблицах для "конечностей" отсутствует один столбец "Фокусное расстояние, см", если это возможно средствами PQ - перенести данные под соответсвующие столбцы шапки файла ожидаемой выгрузки. К тому же иногда в некоторых файлах столбцы меняются местами :(

Во вложении код, пример исходных данных и ожидаемой выгрузки.
Вознаграждение -700 руб.
Изменено: Кирилл Толкачев - 30.04.2022 17:54:24
Есть ли способ в Power Query не импортировать скрытые строки на листе xlsx
 
Добрый день! Подскажите новичку есть ли способ в Power Query не импортировать скрытые строки на листе xlsx. Делаю сборку множества файлов из папки. В некоторых содержаться скрытые строки.
Страницы: 1
Наверх