1). Value - 1000
End If
Next
Next
Next
'Забарвлення занять
Maximum = CInt (L2.Text) - CInt (L1.Text) + 1
porog = CInt (Maximum/2) 'Поріг - половина зайнятих днів у вказаному інтервалі
For i = 1 To DaysTimes
For j = 1 To N_Rooms
a = CInt (Cells (j + 6, i + 1). Value) 'Кількість занять
If a = Maximum Then
Cells (j + 6, i + 1). Select
With Selection.Interior
. ColorIndex = 7 ' Забарвлення при максимальній зайнятості
. Pattern = xlSolid
End With
ElseIf a <= porog And a> 0 Then
Cells (j + 6, i + 1). Select
With Selection.Interior
. ColorIndex = 8 'Забарвлення при знятості менше среней
. Pattern = xlSolid
End With
ElseIf a> porog And a
Cells (j + 6, i + 1). Select
With Selection.Interior
. ColorIndex = 15
. Pattern = xlSolid
End With
End If
Next
Next
Range ("a5"). Select
T1.Visible = True
End Sub
Private Sub CommandButton2_Click ()
F_Podbor.Show
End Sub
Private Sub T1_DblClick (ByVal Cancel As MSForms.ReturnBoolean)
T1.Text = ""
T1.Visible = False
End Sub
Private Sub Worksheet_Activate ()
N_Ned = 0
While Worksheets (2). Cells (N_Ned + 2, 3). Value <> ""
N_Ned = N_Ned + 1
Wend
В
L1.Clear
L2.Clear
For i = 1 To N_Ned
L1.AddItem Worksheets (2). Cells (i + 1, 3). Value
L2.AddItem Worksheets (2). Cells (i + 1, 3). Value
Next
If L1.ListCount> 0 And Sav1
L1.ListIndex = Sav1
End If
If L2.ListCount> 0 And Sav2
L2.ListIndex = Sav2
End If
Private Sub Worksheet_Deactivate ()
Sav1 = L1.ListIndex
Sav2 = L2.ListIndex
End Sub
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
NumStr1 = ActiveCell.Row
NumCol1 = ActiveCell.Column
If NumCol1 <> 1 Then
If T1.Visible = False Then
Exit Sub
End If
T1.Text = ""
N_Days = 0
While Worksheets (2). Cells (N_Days + 2, 4). Value <> ""
N_Days = N_Days + 1
Wend
N_Times = 0
While Worksheets (2). Cells (N_Times + 2, 5). Value <> ""
N_Times = N_Times + 1
Wend
'Кількість рядків
DaysTimes = N_Days * N_Days
N = 0
While Worksheets (1). Cells (N + 4, 1). Value <> ""
N = N + 1
Wend
'Цикл по рядках першого аркуша
For i = 1 To N
Day1 = CStr (Worksheets (1). Cells (i + 3, 4). Value)
Time1 = CStr (Worksheets (1). Cells (i + 3, 5). Value)
Group1 = CStr (Worksheets (1). Cells (i + 3, 9). Value)
Prepod1 = CStr (Worksheets (1). Cells (i + 3, 3). Value)
Disp1 = CStr (Worksheets (1). Cells (i + 3, 10). Value)
Aud1 = CStr (Worksheets (1). Cells (i + 3, 8). Value)
Obs1 = CStr (Worksheets (1). Cells (i + 3, 7). Value)
'Якщо заявка обслужена
If Obs1 = "так" Then
indic = 0
For j = CInt (L1.Text) To CInt (L2.Text)
If CStr (Worksheets (1). Cells (i + 3, 10 + j). Value) = "*" Then
indic = 1
Exit For
End If
Next
'Якщо інтервал тижнів відпо
If indic = 1 Then
If Day1 = CStr (Cells (5, NumCol1). Value) And _
Time1 = CStr (Cells (6, NumCol1). Value) _
And CStr (Cells (NumStr1, 1). Value) = Aud1 Then
If T1.Text <> "" Then
T1.Text = T1.Text + Chr (10)
End If
T1.Text = T1.Text + Disp1
T1.Text = T1.Text + "" + Group1
T1.Text = T1.Text + "" + Prepod1 + ""
For j = CInt (L1.Text) To CInt (L2.Text) 'Цикл 1
ask = CStr (Worksheets (1). Cells (i + 3, j + 11). Value)
If ask = "*" Then
T1.Text = T1.Text + "" + Str (j) + ","
End If
Next
End If
End If 'Якщо інтервал тижнів відпо
End If 'Якщо заявка обслужена
Next 'Завершення циклу по рядках першого аркуша
T3.Visible = False
ElseIf NumStr1> 6 Then
T3.Visible = True
T3.Text = "Місткість" + Str (Worksheets (2). Cells (NumStr1 - 5, 2)) + "чол"
End If
End Sub
В
Додаток 2
В
Процедура, пов'язана з відкриттям книги
Private Sub Workbook_Open ()
'Підрахунок днів на другому аркуші
N_Days = 0
While Worksheets (2). Cells (N_Days + 2, 4). Value <> ""
N_Days = N_Days + 1
Wend
'Заповнення с...