Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vvedenie.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
9.7 Mб
Скачать
  1. Лист «Тарифы»

На листе расположена таблица, состоящая из двух столбцов: специальность и цена рабочего времени, а также на листе есть кнопки добавления и удаления данных, кнопка меню, для перехода на лист «Титульный лист» и кнопка табель учета, для перехода на лист «Табель учета рабочего времени».

При нажатии на кнопку Добавление данных открывается форма Добавление данных.

Форма состоит из двух элементов Label1 и Label2,из двух текстовых полей TextBox1, TextBox2 и двух кнопок CommandButton1 со свойством Caption, которому присвоено значение «Добавить», и CommandButton2 со свойством Caption, которому присвоено значение «Отмена».

Программный код:

Private Sub CommandButton1_Click()

Dim текущая As Object, следующая As Object

If TextBox1 = " " Or TextBox2 = " " Then

MsgBox "Введены не все данные"

Exit Sub

End If

ActiveWorkbook.Sheets("Тарифы").Select

Set текущая = ActiveSheet.Range("A2")

Do While Not IsEmpty(текущая)

Set следующая = текущая.Offset(1, 0)

If текущая = TextBox1.Text Then

MsgBox "Такая Специальность уже существует"

TextBox1.Text = " "

TextBox2.Text = " "

Exit Sub

End If

Set текущая = следующая

Loop

текущая.Value = TextBox1.Text

текущая.Offset(0, 1).Value = TextBox2.Text

TextBox1.Text = " "

TextBox2.Text = " "

MsgBox ("На листе Тарифы появилась новая специальность")

End Sub

Private Sub CommandButton2_Click()

dabavdan.Hide

End Sub

Private Sub TextBox1_Change()

If IsNumeric(TextBox1.Text) And Len(TextBox1) <> 0 Then

MsgBox "Вводить надо текстовые данные!", vbOKOnly + vbInformation

TextBox1.Value = ""

TextBox1.SetFocus

End If

End Sub

Private Sub TextBox2_Change()

If TextBox2.Value < 0 Then

MsgBox "Числа не должны быть отрицательные!", vbOKOnly + vbInformation

TextBox2.SetFocus

End If

If Not IsNumeric(TextBox2.Text) And Len(TextBox2) <> 0 Then

MsgBox "Вводить надо числовые данные!", vbOKOnly + vbInformation

TextBox2.Value = ""

TextBox2.SetFocus

End If

End Sub

При нажатии на кнопку Удаление данных открывается форма удаление данных.

На форме расположены элементы: Label1,ComboBox1, CommandButton1 со своиством Caption,которому присвоено значение «Удаление» выбранной специальности, CommandButton2 со своиством Caption,которому присвоено значение «Закрыть».

Программный код:

Private Sub ComboBox1_Change()

ActiveWorkbook.Sheets("Тарифы").Select

Dim i As Integer

Dim j As Integer

Dim a As Integer

Dim строка As Integer

строка = Application.CountA(Sheets("Тарифы").Columns(1))

i = 1

Do While i <= строка

i = i + 1

If Cells(i, 1) = "" Then

j = i

Exit Do

End If

Loop

For a = 2 To i

If ComboBox1.Text = Cells(a, 1).Value Then

End If

Next a

End Sub

Private Sub CommandButton1_Click()

Dim pr As Object, X As Object

Dim name As String

Dim h As Byte

Dim Y As Byte

h = MsgBox("Вы действительно хотите удалить эту специальность?", vbYesNo + vbQuestion, "Удаление")

If h = vbYes Then Else GoTo e

name = ComboBox1

If ComboBox1 = "" Then

Y = MsgBox("Удаление невозможно, так как не выделен объект", vbYes + vbQuestion, "Удаление")

If Y = vbYes Then GoTo 12 Else GoTo e

End If

ActiveWorkbook.Sheets("Табель учета рабочего времени").Activate

Set pr = ActiveSheet.Range("C11")

Do While Not IsEmpty(pr)

Set X = pr.Offset(1, 0)

If pr = name Then

pr.Select

Selection.EntireRow.Delete

End If

Set pr = X

Loop

ActiveWorkbook.Sheets("Тарифы").Activate

Set pr = ActiveSheet.Range("A3")

Do While Not IsEmpty(pr)

Set X = pr.Offset(1, 0)

If pr = name Then

pr.Select

Selection.EntireRow.Delete

End If

Set pr = X

Loop

12 ComboBox1 = ""

TextBox1 = ""

udal.Hide

e: End Sub

Private Sub CommandButton2_Click()

udal.Hide

End Sub

Private Sub UserForm_Activate()

Dim pr As Object, X As Object

udal.ComboBox1.Clear

ActiveWorkbook.Sheets("Тарифы").Select

Set pr = ActiveSheet.Range("A3")

Do While Not IsEmpty(pr)

Set X = pr.Offset(1, 0)

ComboBox1.AddItem pr

Set pr = X

Loop

End Sub

Программа для кнопки Меню:

Private Sub CommandButton1_Click()

gmenu.Show

End Sub

Переход на лист «Табель учета рабочего времени» осуществляется с помощью кнопки «Табель учета»

Макрос:

Sub табель_учета()

' табель_учета Макрос

Sheets("Табель учета рабочего времени").Select

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]