PayForm.Hide
ClientForm.Show (0)
Else
cb_whopay.ListIndex = 0
EndIf
EndSub
Завершение работы формы:
Private Sub UserForm_Terminate()
PayForm.Hide
ClientForm.Show (0)
End Sub
Процедура (обновление активности):
Subendis()
level_1.Enabled = True
level_2.Enabled = True
level_3.Enabled = True
If cb_able.Value = True And cb_pdd.Value = True And cb_help.Value = True And Val(desc_howmuchdrive.Text) >= Sheets("Данные").Range("L4") And Val(desc_howmuchpay.Caption) >= Sheets("Данные").Range("L2") Then
level_1.Enabled = False
If cb_insidepdd.Value = True And cb_insidedrive.Value = True And cb_insidegorod.Value = True Then
level_2.Enabled = False
Else
level_3.Enabled = False
End If
Else
level_2.Enabled = False
level_3.Enabled = False
End If
End Sub
Кнопка “Выйти”:
Private Sub bt_exit_Click()
WayForm.Hide
ClientForm.Show (0)
End Sub
Кнопка “Сохранить”:
Private Sub bt_save_Click()
Sheets("База").Activate
Sheets("База").Cells(1, 1).Select
all = Selection.CurrentRegion.Rows.Count
For i = 2 To all
If ComboBox1.Text = (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4)) And Sheets("База").Cells(i, 29) = "Обучаемый" Then
If cb_able.Value = True Then Sheets("База").Cells(i, 17) = "Да" Else Sheets("База").Cells(i, 17) = "Нет"
If cb_pdd.Value = True Then Sheets("База").Cells(i, 15) = "Да" Else Sheets("База").Cells(i, 15) = "Нет"
If cb_help.Value = True Then Sheets("База").Cells(i, 16) = "Да" Else Sheets("База").Cells(i, 16) = "Нет"
If cb_insidepdd.Value = True Then Sheets("База").Cells(i, 23) = "Да" Else Sheets("База").Cells(i, 23) = "Нет"
If cb_insidedrive.Value = True Then Sheets("База").Cells(i, 24) = "Да" Else Sheets("База").Cells(i, 24) = "Нет"
If cb_insidegorod.Value = True Then Sheets("База").Cells(i, 25) = "Да" Else Sheets("База").Cells(i, 25) = "Нет"
If cb_gaipdd.Value = True Then Sheets("База").Cells(i, 26) = "Да" Else Sheets("База").Cells(i, 26) = "Нет"
If cb_gaidrive.Value = True Then Sheets("База").Cells(i, 27) = "Да" Else Sheets("База").Cells(i, 27) = "Нет"
If cb_gaigorod.Value = True Then Sheets("База").Cells(i, 28) = "Да" Else Sheets("База").Cells(i, 28) = "Нет"
Sheets("База").Cells(i, 20) = desc_howmuchdrive.Text
End If
Next i
End Sub
Элементы типа Checkbox:
Private Sub cb_able_Click()
Call endis
End Sub
Private Sub cb_help_Click()
Call endis
End Sub
Private Sub cb_insidedrive_Click()
Call endis
End Sub
Private Sub cb_insidegorod_Click()
Call endis
End Sub
Private Sub cb_insidepdd_Click()
Call endis
End Sub
Private Sub cb_pdd_Click()
Call endis
End Sub
Список “Клиент”:
Private Sub ComboBox1_Change()
Sheets("База").Activate
Sheets("База").Cells(1, 1).Select
all = Selection.CurrentRegion.Rows.Count
For i = 2 To all
If ComboBox1.Text = (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4)) And Sheets("База").Cells(i, 29) = "Обучаемый" Then
cb_able.Value = False
cb_pdd.Value = False
cb_help.Value = False
cb_insidepdd.Value = False
cb_insidedrive.Value = False
cb_insidegorod.Value = False
cb_gaipdd.Value = False
cb_gaidrive.Value = False
cb_gaigorod.Value = False
level_1.Enabled = True
level_2.Enabled = True
level_3.Enabled = True
If Sheets("База").Cells(i, 17) = "Да" Then cb_able.Value = True
If Sheets("База").Cells(i, 15) = "Да" Then cb_pdd.Value = True
If Sheets("База").Cells(i, 16) = "Да" Then cb_help.Value = True
If Sheets("База").Cells(i, 23) = "Да" Then cb_insidepdd.Value = True
If Sheets("База").Cells(i, 24) = "Да" Then cb_insidedrive.Value = True
If Sheets("База").Cells(i, 25) = "Да" Then cb_insidegorod.Value = True
If Sheets("База").Cells(i, 26) = "Да" Then cb_gaipdd.Value = True
If Sheets("База").Cells(i, 27) = "Да" Then cb_gaidrive.Value = True
If Sheets("База").Cells(i, 28) = "Да" Then cb_gaigorod.Value = True
desc_howmuchdrive.Text = Val(Cells(i, 20))
desc_howmuchpay.Caption = Val(Cells(i, 21))
Sheets("Данные").Activate
Call endis
End If
Nexti
EndSub
Поле “Откатано часов”:
Private Sub desc_howmuchdrive_Change()
desc_howmuchdrive.Text = Val(desc_howmuchdrive.Text)
Call endis
End Sub
Активация формы:
Private Sub UserForm_Activate()
Dim first, hod As Integer
hod = 0
first = 0
ComboBox1.Clear
cb_able.Value = False
cb_pdd.Value = False
cb_help.Value = False
cb_insidepdd.Value = False
cb_insidedrive.Value = False
cb_insidegorod.Value = False
cb_gaipdd.Value = False
cb_gaidrive.Value = False
cb_gaigorod.Value = False
level_1.Enabled = True
level_2.Enabled = True
level_3.Enabled = True
Sheets("База").Activate
Sheets("База").Cells(1, 1).Select
all = Selection.CurrentRegion.Rows.Count
For i = 2 To all
If Sheets("База").Cells(i, 29) = "Обучаемый" Then
hod = hod + 1
If hod = 1 Then first = i
ComboBox1.AddItem (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4))
End If
Next i
If first <> 0 Then
i = first
If Sheets("База").Cells(i, 17) = "Да" Then cb_able.Value = True
If Sheets("База").Cells(i, 15) = "Да" Then cb_pdd.Value = True
If Sheets("База").Cells(i, 16) = "Да" Then cb_help.Value = True
If Sheets("База").Cells(i, 23) = "Да" Then cb_insidepdd.Value = True
If Sheets("База").Cells(i, 24) = "Да" Then cb_insidedrive.Value = True
If Sheets("База").Cells(i, 25) = "Да" Then cb_insidegorod.Value = True
If Sheets("База").Cells(i, 26) = "Да" Then cb_gaipdd.Value = True
If Sheets("База").Cells(i, 27) = "Да" Then cb_gaidrive.Value = True
If Sheets("База").Cells(i, 28) = "Да" Then cb_gaigorod.Value = True
desc_howmuchdrive.Text = Val(Sheets("База").Cells(i, 20))
desc_howmuchpay.Caption = Val(Sheets("База").Cells(i, 21))
Sheets("Данные").Activate
Call endis
ComboBox1.ListIndex = 0
Else
y = MsgBox("Текущая группа пуста!", vbCritical + vbOKOnly, "Автошкола")
WayForm.Hide
ClientForm.Show (0)
End If
EndSub
Завершение работы формы:
Private Sub UserForm_Terminate()
ClientForm.Show (0)
EndSub
Кнопка “ОК”:
Private Sub bt_ok_Click()
If ComboBox1.Text <> "" Then
Sheets("База").Activate
Sheets("База").Cells(1, 1).Select
all = Selection.CurrentRegion.Rows.Count
For i = 2 To all
If ComboBox1.Text = (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4)) Then
Sheets("Клиент-Отчет").Range("B3") = ComboBox1.Text
Sheets("Клиент-Отчет").Range("B4") = Sheets("База").Cells(i, 5)
Sheets("Клиент-Отчет").Range("B5") = "№ " & Sheets("База").Cells(i, 8) & " " & Sheets("База").Cells(i, 9) & " выдан " & Sheets("База").Cells(i, 6) & ", " & Sheets("База").Cells(i, 7)
Sheets("Клиент-Отчет").Range("B6") = "ул. " & Sheets("База").Cells(i, 10) & ", " & "дом " & Sheets("База").Cells(i, 11) & ", кв. " & Sheets("База").Cells(i, 12)
If Sheets("База").Cells(i, 13) <> "" And Sheets("База").Cells(i, 14) <> "" Then
Sheets("Клиент-Отчет").Range("B7") = Sheets("База").Cells(i, 13) & " ; " & Sheets("База").Cells(i, 14)
Else
Sheets("Клиент-Отчет").Range("B7") = Sheets("База").Cells(i, 13) & Sheets("База").Cells(i, 14)
End If
Sheets("Клиент-Отчет").Range("D3") = Sheets("База").Cells(i, 19)
Sheets("Клиент-Отчет").Range("D4") = Sheets("Данные").Range("H2")
Sheets("Клиент-Отчет").Range("D5") = Sheets("База").Cells(i, 18)
Sheets("Клиент-Отчет").Range("D6") = Sheets("База").Cells(i, 21)
Sheets("Клиент-Отчет").Range("D7") = Sheets("База").Cells(i, 20)
Sheets("Клиент-Отчет").Range("B9") = Sheets("База").Cells(i, 17)
Sheets("Клиент-Отчет").Range("B10") = Sheets("База").Cells(i, 15)
Sheets("Клиент-Отчет").Range("B11") = Sheets("База").Cells(i, 16)
Sheets("Клиент-Отчет").Range("D9") = Sheets("База").Cells(i, 23)
Sheets("Клиент-Отчет").Range("D10") = Sheets("База").Cells(i, 24)
Sheets("Клиент-Отчет").Range("D11") = Sheets("База").Cells(i, 25)
Sheets("Клиент-Отчет").Range("A14") = Sheets("База").Cells(i, 26)
Sheets("Клиент-Отчет").Range("C14") = Sheets("База").Cells(i, 27)
Sheets("Клиент-Отчет").Range("D14") = Sheets("База").Cells(i, 28)
End If
Next i
SelectForm.Hide
Sheets("Клиент-Отчет").Activate
Sheets("Клиент-Отчет").Visible = True
Else
x = MsgBox("Нет клиентов в этой категории!", vbCritical + vbOKOnly, "Автошкола")
End If
End Sub
Список “Статус”:
Private Sub ComboBox2_Change()
Dim hod As Integer
hod = 0
ComboBox1.Clear
Sheets("База").Activate
Sheets("База").Cells(1, 1).Select
all = Selection.CurrentRegion.Rows.Count
status = ComboBox2.Text
For i = 2 To all
If Sheets("База").Cells(i, 29) = status Then
hod = hod + 1
If hod = 1 Then first = i
ComboBox1.AddItem (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4))
End If
Next i
If hod <> 0 Then ComboBox1.ListIndex = 0
End Sub
Активизация формы:
Private Sub UserForm_Activate()
ComboBox1.Clear
ComboBox2.Clear
ComboBox2.AddItem ("Ожидает")
ComboBox2.AddItem ("Обучаемый")
ComboBox2.AddItem ("Окончил")
ComboBox2.ListIndex = 0
EndSub
Завершение работы формы:
Private Sub UserForm_Terminate()
ClientForm.Show (0)
EndSub
Кнопка “Быстрый отчет”:
Private Sub bt_filter_Click()
Dim ins1, ins2, ins3, gai1, gai2, gai3, fins, fgai As Integer
ins1 = 0
ins2 = 0
ins3 = 0
gai1 = 0
gai2 = 0
gai3 = 0
Sheets("База").Activate
Sheets("База").Cells(1, 1).Select
Selection.CurrentRegion.Select
all = Selection.CurrentRegion.Rows.Count
Sheets("База").Activate
Sheets("База").Cells(1, 36).Select
Selection.CurrentRegion.Select
Selection.Clear
Sheets("База").Cells(2, 31) = ""
Sheets("База").Cells(2, 32) = ""
Sheets("База").Cells(2, 33) = ""
Sheets("База").Cells(2, 34) = ""
If cb_stat.Text = "Любой" Then Sheets("База").Cells(2, 31) = "" Else Sheets("База").Cells(2, 31) = cb_stat.Text
If CheckBox1 = True Then
Sheets("База").Cells(2, 32) = ">=" & CDate("1.1." & ed_year.Text)
Sheets("База").Cells(2, 33) = "<" & CDate("1.1." & Val(ed_year.Text) + 1)
End If
If cb_car.Text = "Любой" Then Sheets("База").Cells(2, 34) = "" Else Sheets("База").Cells(2, 34) = cb_car.Text
Sheets("База").Range(Cells(1, 1), Cells(all, 29)).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("База").Range( _
"AE1:AH2"), CopyToRange:=Sheets("База").Range("AJ1"), Unique:=False
If CheckBox1.Value = True Then y = ed_year.Text Else y = "Любой"
Sheets("База").Cells(1, 36).Select
all = Selection.CurrentRegion.Rows.Count
For i = 2 To all
If Sheets("База").Cells(i, 58) = "Да" Then ins1 = ins1 + 1
If Sheets("База").Cells(i, 59) = "Да" Then ins2 = ins2 + 1
If Sheets("База").Cells(i, 60) = "Да" Then ins3 = ins3 + 1
If Sheets("База").Cells(i, 58) = "Да" And Sheets("База").Cells(i, 59) = "Да" And Sheets("База").Cells(i, 60) = "Да" Then fins = fins + 1
If Sheets("База").Cells(i, 61) = "Да" Then gai1 = gai1 + 1
If Sheets("База").Cells(i, 62) = "Да" Then gai2 = gai2 + 1
If Sheets("База").Cells(i, 63) = "Да" Then gai3 = gai3 + 1
If Sheets("База").Cells(i, 61) = "Да" And Sheets("База").Cells(i, 62) = "Да" And Sheets("База").Cells(i, 63) = "Да" Then fgai = fgai + 1
Next i
x = MsgBox("По вашему запросу:" & vbNewLine & "Статус -" & cb_stat.Text & ", Год рождения: " & y & ", Автомобиль: " & cb_car.Text & vbNewLine & vbNewLine & "Всего записей: " & all - 1 & vbNewLine & vbNewLine & "Сдавших внутренний экзамен - ПДД: " & ins1 & vbNewLine & "Сдавших внутренний экзамен - Автодром: " & ins2 & vbNewLine & "Сдавших внутренний экзамен - Город: " & ins3 & vbNewLine & "Итого допущеных до экзамена в ГАИ: " & fins & vbNewLine & "Сдавших экзамен в ГАИ - ПДД: " & gai1 & vbNewLine & "Сдавших экзамен в ГАИ - Автодром: " & gai2 & vbNewLine & "Сдавших экзамен в ГАИ - Город: " & gai3 & vbNewLine & "Итого получивших права: " & fgai, vbInformation + vbOKOnly, "Автошкола")