Усложним задачу. Предположим, что мы не знаем, сколько чисел находится в столбце А. Введите в столбец А еще любое количество значений. Если мы используем эту же программу, то получим прежний результат.
Для определения непустых ячеек в диапазоне у объекта Range есть свойство - Count (Счет). Так будет записываться команда для определения заполненных ячеек в столбце А на листе «Пример 1».
NS = Application.CountA(Sheets("Пример l").Range("A:A"))
В этом примере в результате выполнения в переменную NS будет занесен номер последней заполненной строки в столбце А. При изменении текста программы, предусмотрим вывод этой переменной NS в отдельную ячейку листа для проверки правильности работы. Кроме этого рассчитаем среднее арифметическое значение этих чисел.
Текст измененной программы:
Public Sub Summa()
Dim i As Long, Sum As Integer, NS As Long
'Вычисление суммы
NS = Application.CountA(Sheets(“Пример l”).Range("A:A"))
Sum = 0
With Sheets(“Пример l”).
For i=l To NS
Sum = Sum +.Cells(i, 1)
Next i
'Вывод результата
.Cells(2, 3) = "Сумма ="
.Cells(2, 4) = Sum
.Cells(3, 3) = "Среднее значение="
|
|
.Cells(3,4) = Sum/NS
.Cells(2, 6) = "Номер последней заполненной строки"
.Cells(3, 6) = NS
End With
End Sub.
III. Выполните самостоятельно следующие задания.
1. В открытом документе создайте копию программы в этом же модуле с именем Primer2. Лист2 переименуйте в «Пример2». Измените программу таким образом, чтобы диапазон ячеек А1:А10 на листе Excel заполнялся автоматически с помощью функции RND. Найдите максимальное и минимальное числа из этого диапазона значений. Вывод результатов организуйте на листе «Пример2».
2. Напишите программу, которая из двух чисел (из пары) будет выбирать большее.
• Переименуйте Лист1 в «Большее».
• На листе Excel в ячейке А1 наберите «Число 1».
• На листе Excel в ячейке В1 наберите «Число 2».
• На листе Excel в ячейке D1 наберите «Большее».
• В диапазон ячеек А2:А8 наберите любые числа.
• В диапазон ячеек В2:В8 также наберителюбые числа.
• Напишите программу, которая из двух чисел (из пары) А2 и В2, A3 и ВЗ и т.д. будет выбирать большее и помещать в столбец D, начиная с ячейки D2.
• Программа должна выполняться по нажатию на кнопку, созданную на этом же листе.
• Создайте кнопку для стирания результатов из столбца D.
IV. Ответьте на вопросы.
Контрольные вопросы
1. Объект Range в VBA.
2. Свойства объекта Range.
3. Методы объекта Range.
4. Связь объекта Range и свойств Cells.
5. Алгоритмы обработки информации на листе Excel.
Форма отчета: Файл с выполненным заданием. Ответы на контрольные вопросы.
ЛИТЕРАТУРА
1. Фуфаев, Э.В. Пакеты прикладных программ. [Текст]: Учебное пособие / Фуфаев Э.В. М.:Академия,2004(Гриф)
2. Информатика. Базовый курс [Текст]: Учебник /Под ред. С.В. Симоновича. - 2 - е изд. - СПб.: Питер, 2007. - 640 с. (Гриф)
3. Информатика [Текст]: учебник /Ред. Н.В. Макарова.- М.:Финансы и статистика, 2004(Гриф)