Тема №3: «Обращение к ячейкам листа Excel»
Пример 3.
Добавьте форму. Разместите на форме 2 элемента "Кнопка" (кнопка CommandButton2 для выхода из программы) и 1 элемент "Надпись".
Напишите код процедуры, которая с помощью оператора 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 или вовсе не объявленные, при каждом запуске программы обнуляются.
Введите 10 чисел (положительных, отрицательных и нулевых) в ячейки столбца А. Проверьте работу программы. Результат окажется нулевым, т.к. переменная Y не изменяет своего значения – это значит Y=0.
Добавьте до оператора If строку Y=Y+1. Теперь при каждом щелчке номер строки будет вырастать на 1. Проверьте работу кнопки. Результат окажется неверным, т.к. для программы значение Х тоже нулевое.
До оператора If добавьте строку X=Cells(Y, 1). Проверьте работу кнопки и объясните назначение этой строки.
Чтобы прослеживать в какой строке происходит форматирование, добавьте до End Sub строку: Range("B1")=Y. Проверьте работу кнопки и объясните назначение этой строки.
Добавьте на форму еще 1 кнопку. Напишите код процедуры, которая окрашивает числа в черный цвет: Range("A1:A10").Font.ColorIndex = 0, а также прослеживает в какой строке происходит форматирование.
Проверьте работу программы: сначала работу 2 кнопки, затем 1 кнопки. В ячейке В1 значение номера строки только вырастает.
Обнулите значение Y. Проверьте работу программы.
Добавьте на форму еще 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
End Select
Изучите код процедуры.
Установите для столбца А размер шрифта 8 (меню Формат-Ячеек). Код процедуры измените таким образом, чтобы положительные числа имели размер шрифта 14, отрицательные – 12, нули – 10.
Задание №3.
Измените код процедуры из п.10 примера 3 таким образом, чтобы выполнить задание согласно варианту.
Варианты заданий
Изменение цвета шрифта не выполнялось далее 4 строки.
Производить поворот положительных чисел на 45 градусов (Range(“A1”).Orientation=45).
Изменение размера шрифта не выполнялось далее 6 строки.
Цвет шрифта для положительных четных и нечетных был разным.
Производить поворот первых 5 чисел на 45 градусов (Range(“A1”).Orientation=45).
Производить изменение цвета шрифта только для чисел из диапазона от -5 до 5 включительно.
После 5 строки размер шрифта был равен 8.
Отрицательные числа располагались вертикально (например, Range(“A1”).Orientation=90).
Изменение размера шрифта производилось для положительных и отрицательных чисел (исключить 0).
Изменялся цвет шрифта и поворот на 45 градусов положительных чисел (например, Range(“A1”).Orientation=45).