Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 4
1

Подсчет переработки в табеле

11.07.2019, 14:58. Просмотров 1810. Ответов 2
Метки нет (Все метки)

Всем добрый день!
Помогите, пожалуйста, разобраться с табелем учета рабочего времени
На листе с настройками можно задать месяц, год, должность сотрудника и норму рабочего времени в день в часах.
При нажатии на кнопку "Создать табель" появляется новый лист, где, собственно, ведется учет отработанных часов
Как программно в новых создаваемых табелях в поле "переработано часов" отменить вычитание недоработок. Из-за этого начисление сверхурочных идет по-разному.

Пример: у человека норма 8 часов в день. Он отработал два дня по 8 часов, 1 день 10 часов и 1 день 7 часов.
Программа считает: итого часов 33, и них переработано 1 час
Нужно, чтобы считала: итого часов 33, и них переработано 2 часа
помогите, пожалуйста!
0
Вложения
Тип файла: rar Табель учета рабочего времени 2.0.rar (51.0 Кб, 11 просмотров)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.07.2019, 14:58
Ответы с готовыми решениями:

Ошибка в табеле
Создаю документ Сдельный наряд на выполненные работы.По результатом работы за месяц,способ ввода по...

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

Расчет в табеле сверурочного и основного времени
добрый день, помогите разработать формулу по которой бы считались сверхурочное время и основное. Я...

Поступление из переработки
Решаю задачи из сборника для подготовке к спецу по ПБ 3.0 (не консультант). В условии задачи...

2
1312 / 893 / 283
Регистрация: 11.07.2014
Сообщений: 3,229
12.07.2019, 12:57 2
ESTerekhov, если вас устроит, то можно воспользоваться такой юзерской функцией, которую поместить в ваш программный модуль
Visual Basic
1
2
3
4
5
6
7
8
Public Function WorkMore(Ran As Range)
Dim Sum, I As Integer, J As Integer, Rg As Range
J = Ran.Row
For Each Rg In Ran
  If Rg > Range("D" & J) Then Sum = Sum + Rg - Range("D" & J)
Next
WorkMore = Sum
End Function
Ну и обращаться к ней как функции листа. Для проверки поставьте в AN11 обращение к ней =WorkMore(E11:AI11) результат 3. Ну и также её растягивайте на другие ячейки.
0
20 / 12 / 9
Регистрация: 12.07.2019
Сообщений: 47
12.07.2019, 17:37 3
Формула массива справляется с задачей.
В коде между "Переработка" и "Недоработка" вместо того, что там есть, воткнуть это:

'"переработка"
Visual Basic
1
2
3
4
5
6
7
8
9
    Dim ax As Integer
    If oOpt.Range("cl_pererabotka").Value = "Да" Then
        i_col = i_col + 1
        ax = data_row
        For ax = data_row To data_row + 9
            Cells(ax, i_col).FormulaArray = _
            "=Sum(if(" & Range(Cells(ax, beg_data_col), Cells(ax, end_data_col)).Address(0, 0) & " > " & Cells(ax, wh_col).Address(0, 0) & ", " & Range(Cells(ax, beg_data_col), Cells(ax, end_data_col)).Address(0, 0) & " - " & Cells(ax, wh_col).Address(0, 0) & ", 0 )) "
        Next ax
    End If
'"недоработка"
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2019, 17:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

учет переработки
Люди , подскажите можно ли таблицу в Экселе как - нибудь синхронизировать с календарем, что...

Расчет переработки
Доброго времени суток. Подскажите пожалуйста как правильно написать формулу. Имеються 3 вида...

Журнал переработки
Здравствуйте. Подскажите, пожалуйста, что ни так делаю (файл прилагаю). Необходимо создать формулу...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.