Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RGR_-_mu.doc
Скачиваний:
5
Добавлен:
19.09.2019
Размер:
879.1 Кб
Скачать

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

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

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

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

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

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

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

Кнопка «Внести изменения в смете»

Private Sub CommandButton4_Click()

Dim YesNo As Integer

YesNo = MsgBox("Вы уверены, что вы хотите изменить значения?", vbYesNo + vbQuestion + vbDefaultButton1, "Microsoft Exel")

If YesNo = vbYes Then

If Not IsNumeric(TextBox8.Text) Or Not IsNumeric(TextBox9.Text) _

Or Not IsNumeric(TextBox10.Text) Or Not IsNumeric(TextBox11.Text) Then

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

Exit Sub

End If

Range("f10") = TextBox8.Value

Range("f13") = TextBox9.Value

Range("f16") = TextBox10.Value

Range("f22") = TextBox11.Value

ElseIf YesNo = vbNo Then

Exit Sub

End If

End Sub

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

Кнопка «Подсчитать итоги»

Private Sub CommandButton1_Click()

If Not IsNumeric(Range("f10")) Or Not IsNumeric(Range("f13")) Or _

Not IsNumeric(Range("f16")) Or Not IsNumeric(Range("f22")) Then

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

Exit Sub

End If

Range("k29") = Range("j20") + Range("j28")

TextBox1 = Range("k29")

Range("k30") = Range("k20") + Range("k28")

TextBox2 = Range("k30")

Range("k31") = Range("k29") * 0.15

TextBox3 = Range("k31")

Range("k32") = (Range("k29") - Range("k30")) * 0.5

TextBox4 = Range("k32")

Range("k33") = (Range("k29") - Range("k30")) * 0.3

TextBox5 = Range("k33")

Range("k34") = Range("k29") + Range("k31") + Range("k32") + Range("k33")

TextBox6 = Range("k34")

Range("k35") = Range("k34") * 18 / 118

TextBox7 = Range("k35")

End Sub

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

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

Кнопка «Построить диаграмму»

Private Sub CommandButton2_Click()

If OptionButton2 = True Then

' Ctrl+u

Charts.Add

ActiveChart.ChartType = xlColumnClustered

ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("G29:K35"), PlotBy _

:=xlColumns

ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"

ActiveChart.HasLegend = False

Selection.AutoScaleFont = True

With Selection.Font

.Size = 8

End With

ElseIf OptionButton1 = True Then

' Ctrl+y

Charts.Add

ActiveChart.ChartType = xl3DPie

ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("K29:K35"), PlotBy _

:=xlColumns

ActiveChart.SeriesCollection(1).XValues = "=Лист1!R28C7:R35C10"

ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"

End If

End Sub

Рис. 3.4. – Построение круговой диаграммы

Рис. 3.4. – Построение гистограммы

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