Шаг 28.
VBA в MSExcel.
Основные объекты VBA. Объекты Range и Selection. Свойства объекта Range

    На этом шаге мы перечислим основные свойства объекта Range.

    Объект Range позволяет сочетать гибкость VBA и мощь рабочего листа Excel. Более 400 встроенных функций рабочего листа существенно упрощают и делают более наглядным программирование на VBA.

    Перечислим основные свойства объекта Range.

Таблица 1. Основные свойства объекта Range
Свойство Назначение
Value Возвращает значение из ячейки или в ячейки диапазона. В данном примере переменной х присваивается значение из ячейки C1:
  х = Range ("C1").Value 
В следующем примере в диапазон A1:В2 введена 1:
  Range ("A1:B2").Value = 1
Name Возвращает имя диапазона. В данном примере диапазону А1:В2 присваивается имя Итоги:
  Range ("Al :B2").Name = "Итоги"
Count Возвращает число объектов в наборе. В данном примере переменной х присваивается значение, равное числу строк диапазона A1:В2:
  х = Range("Al :B2").Rows.Count
CurrentRegion Возвращает число строк текущего диапазона. Текущим является диапазон, ограниченный пустыми строками и столбцами и содержащий данный элемент. В следующем примере переменной у присваивается значение, равное числу строк в текущем диапазоне, содержащем ячейку A1:
  у = Range( "A1").CurrentRegion.Rows.Count
WrapText Позволяет переносить текст при вводе в диапазон. Допустимые значения True и False. В следующем примере в ячейку В2 вводится текст длинный текст и в этой ячейке устанавливается режим ввода текста с переносом:
With Range ("B2")
  .Value = "Длинный текст" 
  .WrapText = True 
End With
EntireColumn, EntireRow Возвращает столбец и строку соответственно. В данном примере очищается содержимое строки и выделяется столбец с активной ячейкой:
  ActiveCell.EntireRow.Clear 
  ActiveCell.EntireColumn.Select
ColumnWidth, RowHeight Возвращает ширину столбцов и высоту строк диапазона соответственно
Comment Возвращает объект Comment (Примечание), который связан с левым верхним углом диапазона при отображении на экране. Объект Comment является элементом семейства Comments. Метод AddComment, примененный к диапазону, создает новое примечание. Среди методов объекта Comment отметим только метод Text, который задает текст, выводимый в примечании. Синтаксис:
  Text (Text, Start, Overwrite)
  • Text - строка, выводимая в качестве примечания;
  • Start - с какого символа вводится текст в уже существующее примечание. Если аргумент опущен, то из примечания удаляется весь ранее введенный текст;
  • Overwrite - допустимые значения: True (вводимый текст записывается поверх уже существующего) и False (вводимый текст вставляется в уже существующий).
Среди свойств объекта Comment отметим только свойство Visible, устанавливающее отображение примечания при активизации диапазона, имеющего определенное примечание. В качестве примера рассмотрим следующие инструкции, которые создают и отображают примечание ячейки B3, поясняющее запланированное событие (рисунок 1):


Рис.1. Пример отображения примечания на рабочем листе

With Range ("ВЗ").AddComment
  .Text Text:= "Чрезвычайно важно!" & Chr(10) _ 
          & "Про это не надо забыть !"
  .Visible = True 
End With
Font Возвращает объект Font (Шрифт). Объект Font имеет следующие свойства:
  • Name - строка, указывающая имя шрифта, например "Arial Cyr" ;
  • FontStyle - стиль, возможен Regular (Обычный), Bold (Полужирный), Italic(Курсив), Bold Italic (Полужирный курсив);
  • Size - размер;
  • Strikethrough - допустимы два значения: True (буквы имеют линию по центру, как будто они перечеркнуты) и False (не имеют линии по центру);
  • Superscript - допустимы два значения: True (текст используется как верхний индекс) и False (не используется как верхний индекс);
  • Subscript - допустимы два значения: True (текст используется как нижний индекс) и False (не используется как нижний индекс);
  • Underline - допустимыми являются значения:
    • xlNone (нет подчеркивания);
    • xlSingle (одинарное, по значению);
    • xlDouble (двойное, по значению);
    • xlSingleAccounting (одинарное, по ячейке);
    • Accounting (двойное, по ячейке).
Например, в следующем примере устанавливается для диапазона A1:B2 полужирный шрифт, красного цвета и с высотой символов 14:
With Range ("A1:B2").Font 
  .Size = 14 
  .FontStyle = Bold 
  .Colorlndex = 3
End With
Formula Возвращает формулу в формате A1. Например, следующая инструкция вводит в ячейку C2 формулу =$А$4+$А$10:
  Range ("C2").Formula = "=$А$4+$А$10"
FormulaArray Возвращает формулу диапазона в формате А1. В отличие от обыкновенной формулы рабочего листа, формула диапазона вводится на рабочем листе не посредством нажатия на клавишу Enter, а с помощью комбинации клавиш Ctrl+Shift+Enter. Следующая инструкция вводит в диапазон Е1:Е3 формулу {=Sum(A1:A3*B1:B3)}:
  Range ( "E1:E3").FormulaArray = "=Sum(Al:A3*B1:B3)"
FormulaHidden Допустимые значения: True (формула спрятана, если рабочий лист или книга защищены) и False (в противном случае). Например, следующая инструкция скрывает формулы в столбце А:
  Columns ("A").FormulaHidden = True
FormulaLocal Возвращает неанглоязычные (местные) формулы в формате А1. Например, следующая инструкция вводит в ячейку В2 формулу =СУММ(С1:С4):
  Range("B2").FormulaLocal = "=СУММ (С1:С4)"
FormulaR1C1 Возвращает формулу в формате R1C1. Например,
  Range ("B1").FormulaR1C1 = "=SQRT (R3C2)"
FormulaR1C1Local Возвращает неанглоязычные формулы в формате R1C1
Text Возвращает содержание диапазона в текстовом формате
HorizontalAlignment Горизонтальное выравнивание. Допустимые значения:
  • xlGeneral (обычное выравнивание, зависящее от типа вводимых значений);
  • xlCenter (выравнивание по центру);
  • xlRight (выравнивание по правому краю);
  • xlLeft (выравнивание по левому краю);
  • xlJustify (выравнивание по ширине);
  • xlCenterAcrossSelection (выравнивание по центру в выделенном диапазоне);
  • xlFill (выравнивание по ширине).
VerticalAlignment Вертикальное выравнивание. Допустимые значения:
  • xlBottom (выравнивание по нижнему краю),
  • xlCenter (выравнивание по центру),
  • xlJustify (выравнивание по высоте),
  • xlTop (выравнивание по верхнему краю).
Orientation Ориентация. Допускается либо угол поворота текста в градусах от -90° до 90°, либо одно из допустимых значений:
  • xlDownward (выравнивание по левому краю сверху вниз, соответствует углу -90°);
  • xlHorizontal (выравнивание по горизонтали, соответствует нулевому углу);
  • xlUpward (выравнивание по правому краю снизу вверх, соответствует углу 90°);
  • xlVertical (выравнивание по вертикали, нет соответствия в градусах).
ShrinkToFit Допустимые значения: True (автоматическое изменение шрифта так, чтобы текст помещался в ячейку) и False (в противном случае)

    На следующем шаге мы рассмотрим методы этого объекта.




Предыдущий шаг Содержание Следующий шаг