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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!