У VBA діапазон осередків "A:A" означає стовпець. У російськомовній версії Excel функція СЧЕТЗ підраховує кількість заповнених комірок у виділеному діапазоні. В англомовній версії це функція Count. Таким чином, функція Application.Count(Range("A:A")) підраховує кількість не порожніх (заповнених) комірок у стовпці A.
1) Оператор цикла For... Next
Function F1_If(X)
...........................
End Function
Sub For_Next()
Dim n As Integer
n = Application.CountA(Range("A:A"))
For r = 2 To n
X = Cells(r, 1).Value
Cells(r, 2).Value = F1_If(X)
Next
End Sub
2) Оператори циклу Do … Loop
а) конструкція Do While... Loop
Function F1_If(X)
...........................
n = Application.CountA(Range("A:A"))
r = 2
Do While r <= n
X = Cells(r, 1).Value
Cells(r, 2).Value = F1_If(X)
r = r + 1
Loop
End Sub
б) конструкція Do Until... Loop
Function F1_If(X)
...........................
End Function
Sub Do_Until()
n = Application.CountA(Range("A:A"))
r = 2
Do Until r > n
X = Cells(r, 1).Value
Cells(r, 2).Value = F1_If(X)
r = r + 1
Loop
End Sub
Методичні рекомендації до виконання завдання № 2
Тема: Використання інструкцій VBA
Ціль: Одержати практичні навички розробки програм у середовищі VBA з використанням управляючих конструкцій мови.
|
|
План
1. Вивчення прикладів використання управляючих конструкцій VBA по методичних матеріалах лабораторної роботи.
2. Розробка процедури, що передбачає використання умовного оператора Іf і оператора циклу For... Next.
3. Призначення процедурі елемента управління - кнопки. Перевірка роботи процедури.
4. Модифікування процедури, заміною оператора циклу For... Next на одну з кострукций Do... Loop. Перевірка роботи процедури.