341

Таблица поверок приборов и оборудования в Эксель

Когда то делал для себя такую штуку, для того, что бы отслеживать окончание поверок приборов. Очень удобно, когда поверок много. При запуске файла срабатывает макрос:

- если до окончания поверки менее 10 дней, то ячейка "осталось дней до поверки" закрашивается желтым цветом и выскакивает сообщение;

- если срок поверки прошел, то ячейка подкрашивается красным цветом и выскакивает сообщение.

При каждом запуске данные пересчитываются, перекрашивать ячейки не нужно.

Как обычно залил на яндекс диск https://yadi.sk/i/LRYKx75yfHiyeA

Мыло, если есть вопросы Petrov210217@yandex.ru

Таблица поверок приборов и оборудования в Эксель Измерительные приборы, Прибор, Excel, Оборудование, Поверка

Дубликаты не найдены

Отредактировала ltomme 19 дней назад
+22

А зачем на макросах? Там же проще на условном форматировании сделать...

раскрыть ветку 7
+2

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

раскрыть ветку 1
+9
Засунь формулы в условное форматирование. Туда не полезут.
0

Вот ссыль https://yadi.sk/i/T9Kiyy9_5iNHFw , там, как раз на условном форматировании, но сделал в опен офисе, так как на данный момент нет экселя, поэтому если кто будет запускать в экселе - отпишитесь, пашет или нет. Макросы удалил.

Иллюстрация к комментарию
раскрыть ветку 4
0

Не работает.

раскрыть ветку 3
+27
Макрос не нужен. Проверка условий через сегодня(), и условное форматирование. Макрос потенциальная опасность вируса.
+11

1. Слово "столбец", в "столбец 1, 2, 3", не пишется в документах, указывается только номер.

2. № свидетельства о поверкЕ.

3. "Поверка действительна до (Дата)" => "Дата следующей поверки"

4. Макросы тут не нужны, все решается двумя формулами и стандартным условным форматированием экселя.

5. Макрос всего на 200 строк, прочитай как определять последнюю заполненную строку, чтобы обрабатывать только заполненные строки, и не думать о их количестве.

6. MsgBox`ы впихнуты только ради того, чтобы показать "вот как я могу". В примере с тремя это красиво. Если у тебя вылезет хотя бы 20 подходящих к проверки приборов и столько же просраченых, ты эти боксы клацать заебешься каждое открытие файла.

Да и полезной информации они не несут абсолютно никакой. Ну вообще.

7. И добавляй перед "next" - "DoEvents", поможет не ловить фризы интерфейса при переборах.

8. Ну и если тебе принципиально сделать это макросом, то это нужно делать как-то так https://pastebin.com/9JBZbG0g

раскрыть ветку 5
0

И добавляй перед "next" - "DoEvents",
Если цикл длинный, добавление а него DoEvents очень сильно замедлит его работу.
Надо так:
If i=(i\100)*100 Then DoEvents
i - это переменная цикла. Обратный слэш — целочисленное деление. Доэвентс будет выполняться только при i, кратном ста.
Обычно этого хватает. Число можно подобрать подходящее под конкретную задачу и мощность вычислителя.

раскрыть ветку 1
+1

Ну это должны быть прям очень длинные циклы. И самые простые операции.

Чем сложнее становится операция, тем меньше становится разница меж вариантами.

Берем для примера такой тест. https://pastebin.com/ipv7qaH9.

Результат представляем в секундах и отображаем как:

Количество итераций - "пустой" цикл - цикл с DoEvents перед Next - цикл с DoEvents срабатывающий каждое n количество раз.


Тест 1 - Делаем до миллиона прогонов сложения.

1000 - 0 - 0,015625 - 0

10000 - 0 - 0,1640625 - 0

100000 - 0,0078125 - 1,453125 - 0,0234375

1000000 - 0,015625 - 14,39063 - 0,203125

Разница в ~70 раз.


Тест 2 - Хватам 100 000 раз рандомную ячейку и красим в цвет.

100 - 0 - 0,015625 - 0

1000 - 0,015625 - 0,109375 - 0,0234375

10000 - 0,171875 - 0,875 - 0,1796875

100000 - 1,648438 - 8,71875 - 1,78125

Разница в ~5 раз.


Тест 3 - Хватам 100 000 раз рандомную ячейку и красим в цвет и сразу же очищаем.

100 - 0,0078125 - 0,0078125 - 0,0078125

1000 - 0,03125 - 0,1015625 - 0,03125

10000 - 0,3046875 - 1,023438 - 0,3046875

100000 - 3,007813 - 10,08594 - 3,125

Разница в ~3.2 раз.


Тест 4 - Создаем 1000 раз лист и тут же удаляем его.

10 - 0,078125 - 0,265625 - 0,078125

100 - 0,7890625 - 2,632813 - 1,054688

1000 - 7,703125 - 25,66406 - 11,03125

Разница в ~2.3 раз.


При работе с ячейками, тысяч до 50 вообще не стоит заморачиваться. Для пользователя обычно не так важно 1 или 5 секунд выполняется процесс. Тем более он не видит разницы меж 0,2 и 1 секундой. А иногда даже и лучше, когда процесс идет подольше, у пользователя складывается ощущение тяжести выполняемых процессов. А то обидно становится, когда машина готовит отчет за 5 секунду, который ты до этого готовил 3 часа. А за минуту уже нормально, трудится комп.


При этом нужно учитывать, что какую-нить выгрузку из Сапа или 1с в 100 000 строк, среднестатистический офисный комп с пятилетним ай3, ворочает и так уже довольно тяжело. И если ему скармливать еще и скрипты на какую-либо обработку 100к строк, то он и вообще может сказать Кря. Тут уже подход нужно менять в обработке.


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

Как показывают тесты, изменение этого параметра особо ни на что не влияет.

Прогон 3 теста

При 50

100 - 0,0078125 - 0,015625 - 0

1000 - 0,03125 - 0,109375 - 0,0390625

10000 - 0,328125 - 1,054688 - 0,34375

100000 - 3,28125 - 10,51563 - 3,414063


При 100

100 - 0,0078125 - 0,0078125 - 0,0078125

1000 - 0,0390625 - 0,1015625 - 0,0390625

10000 - 0,328125 - 1,046875 - 0,328125

100000 - 3,265625 - 10,46094 - 3,320313


При 1000

100 - 0,0078125 - 0,0078125 - 0,0078125

1000 - 0,03125 - 0,109375 - 0,0390625

10000 - 0,3359375 - 1,046875 - 0,3515625

100000 - 3,273438 - 10,44531 - 3,523438

0

А если без макросов, поделишься?

раскрыть ветку 2
0

А что конкретно интересует?

Там одна формула вычитания, будущая дата минус предыдущая дата, чтобы найти разницу в днях меж ними.

И пару условий "условного форматирования". Меньше или равно нулю - ставим красный цвет. От 1 до 10 включительно - желтый.

Но без понимания того, как оно работает, даже готовый файл не поможет.

Почитай вот например. https://statanaliz.info/excel/formatirovanie/uslovnoe-format...

И поклацай методом тыка эксель. Там намного все проще чем кажется.

-2

писать надо

+10
Из пушки по воробьям?
ещё комментарии
+2

Идея хорошая, но использование макросов для такой задачи, это перебор.

Хочу подкинуть вам идею: добавьте файл в планировщик Windows, чтоб он запускался в каждый ваш рабочий день. А макросом сделайте закрытие файла, если никакого события нет. Или можете сделать отправку электронного письма с событиями из вашего файла, на определенные адреса.

Таким образом, вам не понадобится каждый раз руками открывать файл и все будет под контролем.

раскрыть ветку 2
0

Идея отличная. Но есть проблема, у меня на работе опен офис, и то, что для экселя сделано не работает. А добиться установки экселя не могу, а дома мне оно не Надь. Но попробовать надо

раскрыть ветку 1
0

http://www.*КИБЕРФОРУМ*.ru/vba/thread48312.html

**СООБЩЕНИЕ №13**

+2

В туалете, на дверце шкафа написал дату. Открыл - увидел. Не подсвечивается, правда, да и хуй с ней, наизусть уже знаю )))

+2

А отчего вторая строчка не красная, там же срок вышел?

+1

когда выбирал чем утеплять дом сделал таблицу по утеплителям своего города, считает площадь и количество необходимого утеплителя. пользуйтесь https://drive.google.com/open?id=0B5qz_ucIpAiYN2s0cllZSWdLT3...

+1

300 скачиваний) Неужели сфера деятельности у такого количества людей связанна с контролем проведения поверок оборудования? Или просто- чтоб было?

0

бесплатный стиллер подходи разбирай п.с. сарказм

0

Решил я значит такую же тему сделать месяц назад. Захотелось больше интерактивности, всякие формирователи отчётов, отправка списка неповеренных приборов. Использовал flask + node.js. Таки гораздо удобнее экселя

0
КИПовец, всё ясно.
раскрыть ветку 2
+1

геодез

раскрыть ветку 1
0
Метрология не дремлет
0

Спасибо тебе, самаритянин!) Пытался это же сделать условным форматированием, сдался)

0

Такие вещи и без синхронизации с календарем? Каждый день что ли файл запускать?

0
У меня макрос из таблицы учёта приборов заполняет протокол поверки т. е. Шапку.
раскрыть ветку 3
0

Так-то не сложно)

раскрыть ветку 2
+1

Так это начало было. Вкус приходит во время еды. Myform  прукрутил логику выбора, эталонов поверки. Время много экономится на заполнении

раскрыть ветку 1
0

Забавно. Я такое на С++ писал в виде десктопного приложения.

0

Превышен лимит скачивания на диске... Можно в почту бросить? uavax@mail.ru... Спасибо!😀

0

Интерес есть)))

Иллюстрация к комментарию
раскрыть ветку 1
0

Поверка занимает тоже время, плюс интервал на внесение данных в Жэу или тсж

0

Манагеры и фрилансеры сразу побежали качать эту вандервафлю, отслеживать дедлайны

раскрыть ветку 4
0

УЖС КАКОЙ

-1

С манагерами понятно, а с фрилансерами не очень.

раскрыть ветку 2
+1

Так им тоже сроки ставят. Если мы про нормальных фрилансеров. А не копирайтеров с бирж

раскрыть ветку 1
0

Точно поверки, а не калибровки?

раскрыть ветку 2
-1

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

раскрыть ветку 1
0

Пользуйтесь именованными диапазонами.

0

Нельзя ли поделиться формулой, пожалуйста? Или объяснить, как работает эта функция покраснения/пожелтения.

раскрыть ветку 18
+4
через условное форматирование можно сделать
-1

Там нет формул, это код VBA

раскрыть ветку 16
+1
Понятно. Это не для моего уровня пользователя икселя.
раскрыть ветку 15
-4

Все лабы так обеднели что не могут себе позволить даже дешманскую ЛИС типа DControl/QControl за 50 тыр? https://qcontrol.ru

Иллюстрация к комментарию
раскрыть ветку 1
0

1С для с этим тоже отлично справится.

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

Похожие посты
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: