Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ргр по инфе.doc
Скачиваний:
3
Добавлен:
22.09.2019
Размер:
581.12 Кб
Скачать

3.2. Смета

Рисунок 3.1. – Внешний вид сметы

Рисунок 3.2. – Смета в режиме отображения формул

Раздел 4. Создание пользовательской формы

4.1. Общий вид формы “Изменение исходных данных”

Рисунок 4.1 – Общий вид формы

4.1.1. Макет пользовательской формы

Рисунок 4.2 – Макет пользовательской формы

4.1.2. Элементы управления формы

В данной работе мы использовали следующие элементы управления пользовательской формы: Label, CommandButton, TextBox, Spinbлкutton, Frame.

Label (надпись) используется для отображения надписей, например, заголовков элементов управления.

TextBox (поле) используется для ввода текста пользователем или для вывода в него результатов расчетов программ.

CommandButton (кнопка) используется для инициирования выполнения некоторых действий, вызываемых нажатием кнопки, например запуск программы или остановка ее выполнения, печать и т. д.

Spinbutton для увеличения либо уменьшения значения в текстовом поле на пол единицы, при нажатии на соответствующую стрелку.

Frame используется для визуальной группировки элементов управления.

Для выполнения определённой операции кнопке назначают программу.

4.1.3 Листинги программ и скриншоты выполнения формы

Private Sub CommandButton1_Click() кнопка для запуска формы

UserForm1.Show

End Sub

Private Sub UserForm_Initialize() блок для отображения на 1 форме текущих данных

таблицы, которые мы будем изменять

UserForm1.Caption = "Изменение данных количества материала по разделам"

название формы

UserForm1.a.Value = Range("F7") присваивание полям на форме данных, соответствующих

UserForm1.b.Value = Range("F14") данным из ячеек в таблицы

UserForm1.c.Value = Range("F21")

End Sub

Private Sub i_Click() кнопка, для внесения изменений в таблицу из 1 формы

If MsgBox("Вы действительно хотите внести изменения?", vbYesNo + vbQuestion, "Изменение исходных данных") = vbYes Then запрос подтверждения при внесении изменений

Range("F7") = Format(a.Value, "0.00") присваивание ячейкам соответствующие им данные,

Range("F14") = Format(b.Value, "0.00") введённые на форме. Числа имеют точность 10-2

Range("F21") = Format(c.Value, "0.00")

Рисунок 4.3. – Пример работы кнопки «Внести изменения

If Not IsNumeric(a.Value) Or Not IsNumeric(b.Value) _

Or Not IsNumeric(c.Value) Then проверка исходных данных

MsgBox "Аргумент должен быть числом", vbExclamation

Exit Sub

End If

Exit Sub

End If

End Sub

Private Sub SpinButton1_SpinDown() блок для нижней кнопки 1 счётчик

a.Value = a.Value - 0.5 уменьшение значения 1 поля на «0,5»

End Sub

Private Sub SpinButton1_SpinUp() блок для верхней кнопки 1 счётчик

a.Value = a.Value + 0.5 увеличение значения 1 поля на «0,5»

End Sub

Private Sub SpinButton2_SpinDown() блок для нижней кнопки 2 счётчик

b.Value = b.Value - 0.5 уменьшение значения 2 поля на «1»

End Sub

Private Sub SpinButton2_SpinUp() блок для верхней кнопки 2 счётчик

b.Value = b.Value + 0.5 увеличение значения 2 поля на «0,5»

End Sub

Private Sub SpinButton3_SpinDown() блок для нижней кнопки 3 счётчик

b.Value = b.Value - 0.5 уменьшение значения 3 поля на «1»

End Sub

Private Sub SpinButton3_SpinUp() блок для верхней кнопки 3 счётчик

c.Value = c.Value + 0.5 увеличение значения 3 поля на «0,5»

End Sub

Private Sub CommandButton2_Click() кнопка для подсчёта итогов таблицы на 1 форме

TextBox1.Text = Range("J28") присваивание полям на форме рассчитываемых данных

TextBox2.Text = Range("K28")

TextBox3.Text = 0.15 * Range("J28")

TextBox4.Text = 0.5 * (Range("J28") - Range("K28"))

TextBox5.Text = 0.3 * (Range("J28") - Range("K28"))

TextBox6.Text = Int(18 / 100 * (Range("J28") + 0.15 * Range("J28") + 0.5 * (Range("J28") - Range("J28")) + 0.3 * (Range("J28") - Range("K28"))))

TextBox7.Text = Range("J28") + 0.15 * Range("J28") + 0.5 * (Range("J28") - Range("K28")) + 0.3 * (Range("J28") - Range("K28"))

Range("J29") = Int(Format(TextBox1, "0.00")) вывод рассчитанных данных из 1 формы в таблицу.

Range("J30") = Int(Format(TextBox2, "0.00")) Числа имеют точность 10-2

Range("J31") = Int(Format(TextBox3, "0.00"))

Range("J32") = Int(Format(TextBox4, "0.00"))

Range("J33") = Int(Format(TextBox5, "0.00"))

Range("J34") = Int(Format(TextBox6, "0.00"))

Range("J35") = Int(Format(TextBox7, "0.00"))

CommandButton3.Enabled = True команда, делающая кнопку CommandButton3 активной

End Sub

Private Sub CommandButton3_Click()

UserForm2.Caption = "Параметры диаграммы" название 2 формы

UserForm2.Show кнопка для запуска 2 формы

UserForm1.Hide

End Sub

Private Sub CommandButton4_Click() кнопка для выхода из формы

UserForm1.Hide

End Sub

Рисунок 4.4 – Пример работы кнопки «Подсчитать итоги»

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