Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabVBA-Системный анализ.doc
Скачиваний:
15
Добавлен:
07.02.2016
Размер:
804.35 Кб
Скачать

2.3 Контрольні питання.

  1. Що таке макрос? Навіщо створюються макроси?

  2. Які дії необхідні для створення макросу.

  3. Як виконати макрос?

  4. Як створити кнопку, що запускає макрос?

  5. Об'єкт Range, його властивості та методи.

2.4 Завдання

Перепишіть текст створеного макросу і поясніть його команди.

3 ЛАБОРАТОРНА РОБОТА №3

Тема: Використання циклів для обробки даних у таблиці.

Мета роботи: навчитися використовувати оператори циклу та властивості й методи об’єктів VBA

3.1 Оператори циклу

Циклом називають групу операторів, що повторюється багато­разово з різними значеннями деякої змінної, яка називається змінною або параметром циклу.

3.1.1 Оператор циклу з лічильником.

Синтаксис:

For параметр = значення1 To значення2 Step h

інструкції тіла циклу

Next

Оператор повторює виконання тіла циклу, змінюючи значення параметру циклу від значення1 до значення2 із кроком h. Якщо крок дорівнює 1, його можна не вказувати.

Задача 3.1. В діапазоні B2 : B24 записані числа. Знайти суму і кількість додатнних чисел діапазону.

Використаємо для розв’язку задачі об’єкт Cells – клітинку.

Sub СумаТаКількість( )

Dim suma as Single, k as Integer, i as Integer

suma =0 : k=0

For i =2 To 24

If Cells(i , 2) . Value >0 Then

k = k+1 ‘збільшуємо кількість

suma = suma +Cells(i , 2) . Value ‘накопичуємо суму

End if

Next i

MsgBox “Додатних чисел – “ & Str(k) & “, сума – ” & Str(suma)

End Sub

3.1.2 Оператор циклу по сімейству об'єктів.

Синтаксис:

For Each змінна Іn сімейство

інструкції тіла циклу

Next

Оператор повторює виконання інструкцій тіла циклу, доки змін­на перебігає всі об'єкти із сімейство об'єктів. Ця змінна повинна бути описана як об’єкт типу Range, якщо сімейство – діапазон клітинок.

Достроковий вихід з таких операторів циклу відбувається за допомогою оператору Exit For.

Задача 3.2. Написати програму, яка заповнює діапазон C2 : H21 випадковими числами з інтервалу [5 ; 25].

Використаємо для цього функцію Rnd( ) із зсувом. Результат можна округлити, використовуючи функцію Round або за допомогою властивості NumberFormat встановити вид відображення чисел.

Sub табуляція( )

Dim r As Range, x As Single

For Each r In Range("C2 : H21")

x = Rnd( ) * 20 + 5

r . Value = Round(x , 2) ‘ або

r . NumberFormat = "### . 00 "

Next

End Sub

3.1.3 Оператори циклу з умовою.

Такі цикли використовується, якщо невідома заздалегідь кіль­кість повторень. Існують такі різновиди операторів:

Синтаксис:

Do While умова

інструкції тіла циклу

Loop

Do

інструкції тіла циклу

Loop While умова

Оператори з умовою While забезпечують виконання операторів тіла циклу доти, доки умова виконується.

Do Until умова

інструкції тіла циклу

Loop

Do

інструкції тіла циклу

Loop Until умова

Оператори з умовою Until закінчують роботу операторів тіла циклу тоді, коли умова виконається. Тобто цикл повторюється, якщо умова має значення False (хибність).

Достроковий вихід з таких операторів циклу відбувається за допомогою оператору Exit Do.

Наступний оператор теж працює доки виконується умова.

While умова

інструкції тіла циклу

Wend

Задача 3.3. З клітині А1 починається список. Написати програ­му, яка підраховує кількість заповнених рядків і записує результат в першому вільному рядку.

Sub Кількість ( )

Dim k As Integer

k = 1 ' kномер рядка

Do

k = k + 1

Loop While Cells(k , 1) .Value <> ""

Cells(k , 1) .Value = " Номер першого вільного рядка – " & Str(k)

End Sub

Деякі задачі можна розв’язувати як з використанням операторів циклу, так і за допомогою методів та вла­стивостей об’єктів Excel.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]