Public Function Func_1(x As Double) As Double
Func_1 = x ^ 2
End Function
Public Sub Vyvod()
Dim Xn As Double
Dim Xk As Double
Dim i As Integer
Dim Delta As Double
Dim Newsheet As Object
'Создать новый лист рабочей книги
Set Newsheet = Worksheets. Add
'задать новому листу имя
Newsheet . Name = "Таблица значений"
'Установить активным лист "Таблица значений"
Worksheets("Таблица значений"). Activate
'Заполнение ячеек текстовой информацией с использованием оператора WITH
With Worksheets("Таблица значений")
. Range(" A2"). Value = "Таблица значений функции Y= X^2"
.Range("B3").Value = "X"
.Range("B4").Value = "Y"
End With
'Ввод исходных данных
Xn = InputBox ("Введите начальную точку")
Xk = InputBox ("Введите конечную точку")
Delta = InputBox ("Введите шаг расчета")
'Заполнение ячеек листа значениями функции
With Worksheets("Таблица значений")
Cells(3, 3).Value = Xn
Cells(4, 3).Value = Func_1(Xn)
i = 1
While Xn <= Xk
Xn = Xn + Delta
Cells(3, i + 3).Value = Xn
Cells(4, i + 3).Value = Func_1(Xn)
i = i + 1
Wend
End With
MsgBox "Расчет закончен"
End Sub
В данном примере отдельно оформлена функция, рассчитывающая Х2. Эта функция впоследствии вызывается в основной процедуре. Обратите внимание, как создавался новый лист EXCEL. Сначала была объявлена переменная Newsheet как объект. Затем при помощи оператора Set данная переменная была ассоциирована с новым листом, а после этого при помощи метода Name было задано новое имя этого листа. Дальнейший ход программы достаточно понятен.
|
|
Ход выполнения работы:
1.Выбрать задание по указанию преподавателя и разработать функцию на языке VBA.
а) при
б) на интервале , .
в) на интервале .
г) на интервале .
д) на интервале .
е) при
ж) на интервале .
з) при
2. Написать процедуру, выполняющую следующие действия:
- присвоить листу EXCEL свое имя;
- удалить все остальные листы;
- в ячейки рабочего листа вывести таблицу значений сложной функции, разработанной в задании 1. Дискретность изменения переменных принять равной 0,1;
- защитить таблицу и сохранить ее на диске С:
- при выполнении процедуры использовать стандартные диалоговые окна при вводе параметров расчета.
3. Оформить отчет в редакторе WORD и сохранить его на диске под именем Lab_rab_7
Лабораторная работа №8
«Обработка событий»
Цель: Изучить программирование основных событий EXCEL.
Краткие теоретические сведения:
Реакция на вносимые пользователем изменения стала неотъемлемой частью функционирования электронных таблиц, поэтому написание кода для событий в Excel часто играет более значимую роль, нежели в остальных приложениях пакета Office. Изменение значения лишь одной ячейки, использующейся в расчетах формулы или диаграммы, может привести к существенным последствиям для всей рабочей книги. Возможность перехвата событий, управляющих данным процессом, для улучшения и расширения функциональности встроенной системы ответов Excel, целиком находится во власти VBA-программиста.
|
|
Перед написанием кода обязательно нужно решить, какой объект должен отвечать на событие. В Excel способны распознавать события четыре объекта: диаграммы, отдельные рабочие листы, рабочие книги и приложение Excel в целом. Если требуется написание кода, отвечающего на событие, связанное с диаграммой, такой код подходит к процедуре события диаграммы. Однако для событий, являющихся ответом на изменения в рабочем листе, программист получает несколько вариантов выбора.
Хотя некоторые события Excel распознают лишь определенные объекты, большинство из них образует иерархию от объекта Worksheet до объектов Workbook и Application. Например, изменения, внесенные в рабочий лист, инициируют событие Change (Изменение) объекта Worksheet, который в свою очередь инициирует событие SheetChange (Изменение листа) для объектов Workbook и Application.
Принимая во внимание, сказанное выше, следует определить, подходит ли код для процедуры события рабочего листа, рабочей книги или приложения. Задача выбора не составит много труда.
|
|
· Если код должен выполняться только при ответе на изменения в единственном рабочем листе, он подходит процедуре события данного рабочего листа.
· Если процедура должна выполняться при внесении изменений в любом рабочем листе определенной книги, код следует вставить в процедуру события рабочей книги.
· Если же код должен активизироваться в любой из открытых рабочих книг, он безусловно подходит процедуре события приложения.
Дата добавления: 2019-09-13; просмотров: 211; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!