введите описание изображения здесь В основном, когда выбран день, я буду вводить время каждого сотрудника, время начала и время их перерыва, а также вводить их выходные данные за день.
Когда выбран следующий день, я хочу сделать точный расчет для данного дня и составить таблицу в последних трех столбцах.
Option Explicit
Dim hour1 As Date
Dim hour2 As Date
Dim hour3 As Date
Dim Totalhour As Date
Dim StartNumber As Integer
Dim EndNumber As Integer
Dim Sum As Double
Dim i As Integer
Dim x As Integer
Dim Total As Double
Private Sub cmdHoursWorked_Click()
If OpMon.Value = True Then
hour1 = txtTimeIn1.Text
hour2 = txtTimeOut1.Text
hour3 = cmbBreak1.Text
Total = txtUnitCom1.Text
Totalhour = ((hour2 - hour1) - hour3)
lblHrsWorked1.Caption = Round((Totalhour * 24), 2)
lblMon1.Caption = Round(((lblHrsWorked1.Caption * 3600) / txtUnitCom1.Text), 1)
'lblUnitWeek1.Caption = txtUnitCom1.Text'
'lblTHW1.Caption = lblHrsWorked1'
ElseIf OpWed.Value = True Then
hour1 = txtTimeIn1.Text
hour2 = txtTimeOut1.Text
hour3 = cmbBreak1.Text
Totalhour = ((hour2 - hour1) - hour3)
lblHrsWorked1.Caption = Round((Totalhour * 24), 2)
lblWed1.Caption = Round(((lblHrsWorked1.Caption * 3600) / txtUnitCom1.Text), 1)
'lblUnitWeek1.Caption = txtUnitCom1.Text'
'lblHrsWorked1.Caption = lblTHW1.Caption'
lblSecUnit1.Content = (lblMon1.Caption + lblTue1.Caption + lblWed1.Caption + lblThu1.Caption + lblFri1.Caption)
End If
End Sub
Скажите, если я выберу понедельник, я введу 9:00 и 17:30 как время начала и окончания с 30-минутным перерывом.И я ввожу 500 в текстовое поле заполненных единиц.Затем я вычисляю отработанные часы (метка), а также вычисляю единицы измерения в секунду на метке метки понедельника.
Теперь, если выбран другой день, я хочу сделать точно такие же вычисления, а также добавить к последним трем столбцамна основе ввода от пользователя
ElseIf OpTue.Value = True Then
start_time = CDate(txtTimeIn1.Text)
end_time = CDate(txtTimeOut1.Text)
break_time = CInt(cmbBreak1.Text)
units = CSng(txtUnitCom1.Text)
ttl_secUnit1 = CSng(lblSecUnit1.Caption)
sec_Mon1 = CSng(lblMon1.Caption)
'sec_Tue1 = CSng(lblTue1.Caption)
' Calculation
hours_worked = (CSng(end_time) - CSng(start_time)) * 24! - break_time / 60!
rate = units / (3600! * hours_worked)
ttl_secUnit1 = (CSng(sec_Mon1) + CSng(sec_Tue1))
lblSecUnit1.Caption = WorksheetFunction.Sum(lblMon1.Caption, lblTue1.Caption)
' Results
lblHrsWorked1.Caption = Round((hours_worked), 2)
lblTue1.Caption = Format(rate, "0.000")
'lblSecUnit1.Caption = Format(ttl_secUnit1, "0.000")
End If