Range(«b6»).FormulaLocal = «=b3*b7^3+b4*sin(b7)»
Range(«b6»).GoalSeek Goal:=c, changingCell:=Range(«b7»)
TextBox4.Text = CStr(.Range(«b7»).Value)
TextBox4.Text = FormatNumber(TextBox4.Text, 2)
End With
End Sub
Private Sub CommandButton2_Click()
UserForm1.Hide
End Sub
Private Sub UserForm_initialize()
Worksheets(1).Visible = False
End Sub
Технология выполнения
1. Запустите приложение Excel, сохраните документ.
2. Перейдите в редактор VBA. Создайте форму согласно приведенному рис. 94.
Рис. 94. Разработанная форма примера 42 в режиме конструктора
3. На листе Excel расположите необходимый текст (оформление), предусмотрев соответствующие ячейки вывода информации (рис. 95).
Рис. 95. Вывод результатов на лист excel после запуска формы
4. Обработайте кнопки.
Const strNomer = 3 количество строк для заголовка
Dim strName1 As String 'строка для адресации ячеек
Dim strName2 As String
Dim nomer As Long номер очередной строки таблицы
Private Sub CommandButton1_Click()
ActiveWorkbook.SaveAs («работа с базой данных. xls»)
nomer = 1 End Sub
Private Sub CommandButton2_Click()
strName1 = Trim(Str(strNomer + nomer))
With ActiveSheet 'ввод данных для новой отчетной таблицы
Range('A' + strName1).Value = nomer
Range('B' + strName1).Value = TextBox1.Text
Range('C' + strName1).Value = TextBox2.Text
Range('D' + strName1).Value = TextBox3.Text
'автозаполнение с текущей строки таблицы
strName2 = Trim(Str(strNomer + nomer + 1))
Set range1 =.Range('A' + strName1 +':D' + strName1)
Set range2 =.Range('A' + strName1 +':D' + strName2)
range1.AutoFill Destination:=range2
Range('A' + strName2 +':D' + strName2).Clear
End With
' очистка полей формы для ввода очередной записи
TextBox1.Text = ''
TextBox2.Text = ''
TextBox3.Text = ''
TextBox1.SetFocus
nomer = nomer + 1
End Sub
Private Sub CommandButton3_Click()
'закрытие формы подведение итогов и вывод фамилии преподавателя
UserForm1.Hide
With ActiveSheet
strName2 = Trim(Str(strNomer + nomer + 2))
Range('A' + strName2).Value = «классный руководитель»
Range('D' + strName2).Value = TextBox4.Text
End With
End Sub
5. Откомпилируйте программу и запустите на выполнение.
7.2. Использование возможностей VBA при непосредственных расчетах
1) создать шаблонную часть этого документа с помощью табличного процессора Excel;
2) составить программу на языке VBA, которая будет запрашивать у пользователя исходные данные для заполнения этой таблицы, производить необходимые расчеты и помещать все данные в соответствующие ячейки, предусмотренные в шаблоне.
Звездочкой (*) помечены те графы таблицы, по которым необходимо подвести итог.
Технология выполнения
Анализ таблицы показывает, что вид деятельности, прогноз прибыли и фактическая прибыль являются исходными данными, отклонение (в процентах и в сумме) – расчетными. Кроме того, рассчитываются итоги по некоторым графам таблицы.
Шаблон создается на обычном рабочем листе в Excel. При этом необходимо только зарезервировать свободные ячейки для занесения следующих данных: месяц, год, потребительское общество, сумма