Пример 3.
1. Добавьте форму. Разместите на форме 2 элемента "Кнопка" (кнопка CommandButton2 для выхода из программы) и 1 элемент "Надпись".
2. Напишите код процедуры, которая с помощью оператора If…Then…Else…End If окрашивает положительные числа в синий цвет, отрицательные – зеленым, а нуль – красным.
Для создания универсальной программы, т.е. щелчок по кнопке будет форматировать каждую последующую ячейку, нужно использовать переменные в адресе, что позволяет сделать объект Cells.
If X > 0 Then
Cells(Y, 1).Font.ColorIndex = 5
ElseIf X < 0 Then
Cells(Y, 1).Font.ColorIndex = 4
Else
Cells(Y, 1).Font.ColorIndex = 3
End If
Условимся, что номер строки – это Y, а значение ячейки это переменная Х. Опишите в программе до процедуры CommandButton1_Click() эти переменные:
Dim Y As Byte и Dim X As Integer
Примечание: Переменные, объявленные вне процедуры, сохраняют значение после окончания выполнения процедуры. Переменные, объявленные внутри процедуры Sub...End Sub или вовсе не объявленные, при каждом запуске программы обнуляются.
3. Введите 10 чисел (положительных, отрицательных и нулевых) в ячейки столбца А. Проверьте работу программы. Результат окажется нулевым, т.к. переменная Y не изменяет своего значения – это значит Y=0.
4. Добавьте до оператора If строку Y=Y+1. Теперь при каждом щелчке номер строки будет вырастать на 1. Проверьте работу кнопки. Результат окажется неверным, т.к. для программы значение Х тоже нулевое.
5. До оператора If добавьте строку X=Cells(Y, 1). Проверьте работу кнопки и объясните назначение этой строки.
6. Чтобы прослеживать в какой строке происходит форматирование, добавьте до End Sub строку: Range("B1")=Y. Проверьте работу кнопки и объясните назначение этой строки.
7. Добавьте на форму еще 1 кнопку. Напишите код процедуры, которая окрашивает числа в черный цвет: Range("A1:A10").Font.ColorIndex = 0, а также прослеживает в какой строке происходит форматирование.
8. Проверьте работу программы: сначала работу 2 кнопки, затем 1 кнопки. В ячейке В1 значение номера строки только вырастает.
9. Обнулите значение Y. Проверьте работу программы.
10. Добавьте на форму еще 1 кнопку. Напишите код процедуры, которая с помощью оператора Select … Case…End Select изменяет размера шрифта по правилу: чем больше число, тем больше значение размера шрифта.
Select Case X
Case Is < -20
Cells(Y, 1).Font.Size = 10
Case Is < 0
Cells(Y, 1).Font.Size = 12
Case 0 To 20
Cells(Y, 1).Font.Size = 14
Case Is > 20
Cells(Y, 1).Font.Size = 16