Страницы: 1
RSS
Подсчет общего количества отработанного времени на разных объектах и определение переработки vba, Поиск строки по двум условиям и запись в массив?
 
Добрый день!
Таблица содержит столбцы "Дата", "Тип дня", "ФИО", "Объект", "Отработанное время", "Переработка". Необходимо с помощью макроса определить, попадает ли строка под определение переработки или нет.
Переработкой является все, что больше нуля, если тип дня = выходной, а также излишне отработанное время в рабочие дни, т.е. если отработанное время >8 (при отработанном времени в рабочий день = 10ч переработка должна равняться 2ч).
Проблема: в одну и ту же дату один и тот же человек может работать на нескольких объектах. Например, 3 часа на объекте А и 6 часов на объекте Б. Сами по себе такие строки не попадают под переработку, но в сумме дают количество часов >8, поэтому в строке, где указан объект Б, переработка должна равняться 3+6-8=1 ч.
Предполагаю, что необходимо осуществить в цикле по всей таблице поиск текущего фио и текущей даты, запись отработанного времени в массив, далее вычисления. Не умею работать с поиском, тем более по нескольким критериям. Можно втупую через цикл в цикле, где каждая строка сравнивается со всеми, но когда таких строк много, будет очень долго.
Помогите, пожалуйста, решить задачу!
 
Добрый день. держите макрос.
Код
Sub МакросОтветаНаВопрос()
With CreateObject("WScript.Shell")
 .Run "https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=45586&T...;
End With
End Sub

2.3 если что :)
Изменено: Wild.Godlike - 02.12.2022 17:46:47
 
Wild.Godlike, от эт заморочился  :D
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх