Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ISS / Лабораторная работа 8

.doc
Скачиваний:
12
Добавлен:
21.03.2015
Размер:
36.86 Кб
Скачать

Лабораторная работа 8

Работа с диапазонами ячеек в MS Excel

Цель работы: научиться использовать встроенный в пакет MS Office язык программирования VBA для операций с диапазонами ячеек

Задание лабораторной работы № 8:

1. Изучить краткие сведения о работе с диапазонами ячеек на языке VBA.

2. Написать и провести тестирование программы по своему варианту.

Представляемые к защите материалы

1. Текст задачи.

2. Файл с программой на VBA.

3. Результаты тестирования программы.

Варианты заданий

Используя MS Excel создать на языке VBA модуль вычисления функции в соответствии с выбранным вариантом. Проверить работу функции на рабочем листе таблицы.

Составьте функцию, которая:

  1. Вычисляет среднее арифметическое значений элементов матрицы;

  2. Вычисляет среднее значение всех элементов матрицы за исключением максимального и минимального из них

  3. Находит скалярное произведение двух векторов;

  4. Проверяет, все ли элементы массива имеют значение больше заданной величины;

  5. Вычисляет минимальный элемент массива;

  6. Возвращает индекс (номер) минимального элемента вектора;

  7. Вычисляет модуль вектора;

  8. Определяет, являются ли элементы диапазона геометрической прогрессией, и если так – выводит коэффициент, иначе возвращает нуль.

Теоретические сведения

К отдельной ячейке рабочего листа можно получить доступ через специальный объект «Диапазон ячеек» – Range. Он представляет собой совокупность ячеек из некоторой прямоугольной области листа Excel, нескольких областей или даже из единственной ячейки таблицы.

Для пользования диапазонами нужно создать переменную типа Range. Пример:

Dim Diapazon1 As Range

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

Если необходимо извлечь значение, хранящееся в конкретной ячейке диапазона, можно воспользоваться следующей командой:

a = Diapazon1.Item(1).Value ‘ значение 1-й ячейки диапазона

Ячейки в диапазоне нумеруются с единицы; при этом номер ячейки в диапазоне и адрес ячейки на рабочем листе – разные вещи (в диапазоне ячейка может быть пятой, но адрес в рабочем листе – «G8»).

Выражение Diapazon1.Count позволяет получить количество ячеекд иапазона:

n = Диапазон.Count

Ниже приведен пример функции, работающей с диапазоном ячеек. Как любая функция пользователя, она может использоваться на листе MS Excel – в ячейке листа вызывается функция, в качестве параметра которой передаются координаты диапазона ячеек. В данном случае функция ArraySum() подсчитывает сумму чисел, находящихся в выделенном диапазоне. Необходимо помнить, что для реальных приложений функцию необходимо будет дополнить блоками, проверяющими корректность введенных данных (Аргумент функции действительно диапазон? В ячейках действительно числа? И т.п.).

Public Function ArraySum(dipazon As Range) As Single

Dim i As Integer, sum As Single

sum = 0 ‘сумма элементов, для начала равна нулю

For i = 1 To dipazon.Count

sum = sum + dipazon.Item(i).Value

Next i

ArraySum = sum

End Function

Соседние файлы в папке ISS