Range(Cells(2, 3), Cells(5, 6)).Select
Оформление вида ячеек (Лекция 2 часа)
Ввод вывод данных в ячейки Листа Excel осуществляется посредством свойств Cells (ячейки) и Range (диапазон ячеек). В свою очередь свойства Cells и Range являются объектами и содержат вложенные свойства такие, как Volue (значение), Interior (интерьер, оформление), formula (формула), Select (выбор) и другие. Объект Cells и его свойство Cells можно рассматривать как базовый объект и основное свойство Листа Excel. Доступ к ячейке посредством свойства Cells осуществляется через индексы R (Row – строка) и C (Column – столбец). Для того чтобы выбрать некоторую ячейку достаточно в свойстве Cells указать RC адрес необходимой ячейки и выбрать свойство Select. Пример: Cells(2,3).Select
Выполнение указанной строки программы передаст фокус указателя мыши (выделит ячейку) на ячейку находящуюся на пересечении 2 – строки и 3 – го столбца активного листа Excel.
Свойство Range позволяет получить доступ к ячейке посредством символьного адреса.
Пример: Range(“C2”).Select
Выполнение указанной строки программы передаст фокус указателя мыши на ячейку находящуюся на пересечении 2 – строки и 3 – го столбца активного листа Excel, т.е. будет выбрана ячейка [С2]. Обратите внимание на тот факт, что символьный адрес ячейки является строкой (текстом) и заключается в кавычки. Для того, чтобы выбрать диапазон ячеек в свойстве Range необходимо указать начальный и конечный символьные адреса диапазона ячеек.
Пример: Range(“C2:F5”).Select
Также в свойстве Range можно выразить диапазон ячеек, заменив символьные адреса свойством Cells, с указанием RC адресов ячеек.
Пример: Range(Cells(2, 3), Cells(5, 6)).Select
Запись в ячейку некоторых данных можно осуществить как с использованием вложенных свойств Value, Value2 и Formula так и без их использования. Применение вложенных свойств несколько повышает быстродействие операций или обуславливется точностью вычислений. Например, для записи значения числа (e) в память ячейки с высокой точностью (12 байт) следует применить свойство Value2.
Пример: Range(“A1”).Value2 = Exp(1) [2,718281828]
Обратите внимание на тот факт, что отображение значения числа (e) вычисленного с обычной точностью будет иметь то же количество знаков, что и отображение значения вычисленного с обычной (8 байт) точностью. Однако в оперативной памяти ячейки, значение вычисленное с высокой точностью будет содержать больше разрядов после запятой на 4 байта. Одинаковое представление числа в ячейке определяется форматом вывода значения.
Пример: Cells(2,1).Volue = Exp(1) [2,718281828]
Если возникает необходимость выполнить вычисление непосредственно в ячейке или воспользоваться функциями, представленными в мастере функций Excel необходимо применить свойство Formula.
Пример: Range("A1").Formula = "=Sin(0.5)"
Приведенная выше программная строка (свойство Formula) передает управление на связанное с ячейкой поле ввода формул (Parser - вычислитель). Таким образом, запись формулы в программе выглядит эквивалентно вводу формул в Excel. Так как любое поле ввода имеет тип “строка”, то запись выражения необходимо взять в кавычки.
В связи с тем, что объект Cells содержит большое количество методов, ряд из которых реализуют интерпретацию выражений, для записи данных в ячейки и считывания данных из ячеек вложенные свойства Volue и Formula можно не применять. В практической работе можно использовать следующие программные строки. Пример: Cells(2,1) = Exp(1) Range("A1") = "=Sin(0.5)" Range(“A3”) = Range(“A1”) + Cells(2,1) Cells(4,1) = Range(“A3”)*Cells(2,1)^2 Применение свойств Range и Cells в практической работе имеет ряд особенностей. Свойство Range целесообразно применять в случаях, когда заведомо известно (определено) в какую ячейку необходимо записать некоторые данные или из какой ячейки выбрать необходимые данные. Свойство Cells удобно использовать для ввода вывода массивов данных или когда адрес ячейки вычисляется (задан в виде ссылки). Помимо ввода и вывода данных в ячейки можно программно оформить внешний вид ячейки и диапазона ячеек. Оформление внешнего вида ячеек осуществляется посредством свойства Interior (интерьер) и вложенных в него свойств Color (цвет), ColorIndex (индекс цвета), Pattern (узор) и др. Указанные свойства имеют предопределенные значения. Например, свойству Color можно присвоить значение цвета посредством символического имени, соответствующего двоичному коду в шестнадцатеричном представлении:
vbBlack &H000000 Черный vbRed &H0000FF Красный vbGreen &H00FF00 Зеленый vbYellow &H00FFFF Желтый vbBlue &HFF0000 Синий vbMagenta &HFF00FF Розовый vbCyan &HFFFF00 Голубой vbWhite &HFFFFFF Белый
Пример: Range("A1:A10").Interior.Color = vbGreen
Также можно непосредственно задать значение цвета в шестнадцатеричном коде.
Пример: Range("B1:B10").Interior.Color = &HFF0000
Особенностью применения свойства Interior в свойстве Cells для ранних версий Excel, например Office97, является обязательный предварительный выбор ячейки.
Пример: Cells(1, 1).Select Cells(1, 1).Interior.Color = &HFF0000 Cells(1, 2).Select Cells(1, 2).Interior.Color = vbGreen
Цвет ячейки (диапазона ячеек) можно определить через индекс палитры цветов. Для этого достаточно воспользоваться свойством ColorIndex. Палитра цветов ячеек содержит 40 значений, которые представлены индексами в диапазоне [0-39].
Пример: Cells(1, 1).Select Cells(1, 1).Interior.ColorIndex = 3 ‘ Красный Range("A2").Interior.ColorIndex = 5 ‘ Синий
Определить цвет ячейки (диапазона ячеек) можно также путем присвоения свойству Color десятичного значения.
Пример:
Cells(1, 1).Select Cells(1, 1).Interior.Color = 255 ‘красный Range("a2").Interior.Color = 16711680 ‘синий
Ячейки (диапазон ячеек) можно залить узором. В VBA предопределены 20 видов узоров, а именно: xlPatternAutomatic, xlPatternChecker, xlPatternCrissCross, xlPatternDown, xlPatternGray16, xlPatternGray25, xlPatternGray50, xlPatternGray75, xlPatternGray8, xlPatternGrid, xlPatternHorizontal, xlPatternLightDown, xlPatternLightHorizontal, xlPatternLightUp, xlPatternLightVertical, xlPatternNone, xlPatternSemiGray75, xlPatternSolid, xlPatternUp, xlPatternVertical.
Пример: Range("A5").Interior.Pattern = xlPatternCrissCross
В ячейки можно выводить любые значения, в том числе текст и оформить его. Вид выводимой информации осуществляется посредством свойства font.
Пример: Range("A6") = "Текст" Range("A6").Font.Name = "Arial" Range("A6").Font.Color = vbBlue Range("A6").Font.Size = 12 Range("A6").Font.Bold = True Range("A6").Font.Italic = True
В процессе написания программы часто приходится перечислять одни и те же свойства. Для улучшения читаемости программы, а также для сокращения строк программы в VBA имеется конструкция (With… End With) перечисления свойств. Приведенная выше запись фрагмента программы, с использованием указанной конструкции будет иметь следующий вид. Пример: Range("A6") = "Текст" With Range("A6").Font .Name = "Arial":.Color = vbBlue:.Size = 12 .Bold = True:.Italic = True
|