Определение текущего диапазона



Свойство CurrentRegion объекта Range возвращает текущий диапазон (current region). Текущий диапазон — это максимальный диапазон, окруженный любой комбинацией пустых строк и столбцов, ячейки которого не пусты, а сам он содержит в себе данный диапазон.

Например, предположим в диапазоне А1:Е12 имеется таблица, которая по столбцу F и 13-й строке окружена пустыми ячейками. Тогда следующая инструкция вызовет выделение всей таблицы, т. е. диапазон А1:Е12:

Cells(1, 1).CurrentRegion.Select

Немного усложним задачу. Пусть у этой таблицы первая строка отведена под заголовок. Тогда для того чтобы выделить всю таблицу без заголовка, достаточно применить инструкции:

Dim r As Range

Set r = Cells(1, 1).CurrentRegion

r.Offset(1, 0).Resize(r.Rows.Count - 1, r.Columns.Count).Select

В следующем примере переменной у присваивается значение, равное числу строк в текущем диапазоне, содержащем ячейку А1:

y = Range("A1").CurrentRegion.Rows.Count

Нахождение крайней ячейки диапазона

В указанном направлении

Свойство End объекта Range возвращает крайнюю ячейку в указанном направлении в диапазоне, содержащем заданный диапазон.

End(Direction)

Здесь допустимым значением параметра Direction может быть одна из следующих переменных XlDirection: xlToLeft, xlToRight, xlUp и xlDown.

Например, в следующем примере строка "х" будет введена в ячейку А4, а "у" — в ячейку В2:

Range("A1:B4").Value = "Тест"

Range("Al:В4").Select

Selection.End(xlDown).Value = "x"

Range("A2").End(xlToRight).Value = "y"

Нахождение строки и столбца, содержащих

Данную ячейку

Свойства EntireColumn и EntireRow объекта Range возвращают столбец и строку, содержащие данную ячейку.

Следующий код, например, очищает всю строку, содержащую данную ячейку:

ActiveCell.EntireRow.Clear

Объект Hyperlink

Свойство Hyperlinks объекта Range возвращает семейство Hyperlinks, состоящее из объектов Hyperlink, инкапсулирующих в себе информацию о гиперссылках.

У семейства Hyperlinks наиболее важными свойствами являются свойства Count и Item, возвращающие число элементов и конкретный элемент семейства. Кроме того, в этом семействе имеются два метода: метод Delete, который удаляет гиперссылку, и метод Add, который создает новый элемент семейства.

Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay)

Здесь:

r Anchor — обязательный параметр, идентифицирующий местоположение гиперссылки;

r Address — обязательный параметр, задающий адрес гиперссылки;

r SubAddress — необязательный параметр, определяющий локальный адрес по отношению к адресу документа;

r ScreenTip — необязательный параметр, задающий текст всплывающей подсказки;

r TextToDisplay — необязательный параметр, задающий текст гиперссылки.

Основные свойства объекта Hyperlink перечислены в табл. 5.21, а методы — в табл. 5.22.

Таблица 5.21. Свойства объекта Hyperlink

Свойство Возвращает
Address Адрес документа, в который происходит переход
EmailSubject Строку, отображаемую в разделе Тема сообщения , при отсылке электронной почты
Name Имя объекта
Parent Ссылку на объект (диапазон), в котором расположена гиперссылка
Range Ссылку на диапазон, в котором расположена гиперссылка
ScreenTip Текст всплывающей подсказки
Shape Объект Shape, к которому присоединена гиперссылка
SubAddress Локальный адрес по отношению к адресу документа
TextToDisplay Текст гиперссылки

Таблица 5.22. Методы объекта Hyperlink

Метод Описание
AddToFavorites Добавляет гиперссылку в раздел Избранное браузера
CreateNewDocument Открывает новый документ, связанный с указанной гипер­ссылкой
Delete Удаляет гиперссылку
Follow Отображает указанный документ, если он уже загружен. В противном случае производит его загрузку и отображение. Follow(NewWindow, AddHistory, Extralnfo, Method, Headerlnfo) Здесь: ·  NewWindow— необязательный параметр, если он прини­мает значение True, то документ отображается в новом окне, если его значение равно False, то в том же самом; · AddHistory — не используется, зарезервирован для будущих версий MS Excel; · Extralnfo — необязательный параметр, содержащий дополнительную информацию, используемую для HTTP-протокола; · Method— необязательный параметр, специфицирующий то, как передается информация из параметра Extralnfo; · Headerlnfo — необязательный параметр, содержащий заголовочную информацию, передаваемую при HTTP-запросе

Например, следующая инструкция в ячейке А1 создает гиперссылку ms со всплывающей подсказкой Microsoft для открытия Web-страницы http:// microsoft.com .

With Worksheets(1)

.Hyperlinks.Add Anchor: = .Range("A1"), _

Address:="http://microsoft.com", _

ScreenTip:="Microsoft", _

TextToDisplay:="MS"

End With

Объект Font

Свойство Font объекта Range возвращает объект Font, представляющий собой шрифт. В табл. 5.23 приведены свойства объекта Font.

Таблица 5.23. Свойства объекта Font

Свойство Описание
Bold Определяет, является ли шрифт полужирным
Color Задает цвет шрифта в соответствии с RGB-моделью
Colorlndex Задает индексированный цвет в соответствии с текущей палитрой цветов
FontStyle Задает стиль шрифта, заданный в словесной форме. Допустимы значения: Regular (обычный), Bold (полужирный), Italic (курсив), Bold Italic (полужирный курсив)

Таблица 5.23. Свойства объекта Font (Продолжение)

Italic Определяет, является ли шрифт курсивным
Name Строка, указывающая имя шрифта, например, "Arial Cyr"
Size Размер шрифта
Strikethrough Устанавливает, имеется ли линия по центру, как-будто текст перечеркнут
Superscript Устанавливает, используется ли текст как верхний индекс
Subscript Устанавливает, используется ли текст как нижний индекс
Underline Задает тип подчеркивания. Допустимы значения: xlNone (нет подчеркивания), xlSingle (одинарное, по значению), xlDouble (двойное, по значению), xlSingleAccounting (одинарное, по ячейке), xlDoubleAccounting (двойное, по ячейке)

Например, в следующем примере для диапазона А1:В2 устанавливается по­лужирный шрифт красного цвета с высотой символов 14.

With Range("A1:B2").Font

.Size = 14

.Bold = True

.Color = RGB(255, 0, 0)

End With

Объект Interior

Свойство Interior объекта Range возвращает объект Interior, представляющий собой объект, инкапсулирующий данные о заливке диапазона. В табл. 5.24 приведены свойства объекта Interior.

Таблица 5.24. Свойства объекта Interior

Свойство Описание
Color Цвет заливки в соответствии с RGB-моделью
Colorlndex Индексированный цвет заливки в соответствии с текущей палитрой цветов
Pattern Узор заливки. Допустимыми являются следующие значения: xlPatternAutomatic, xlPatternChecker, xlPatternCrissCross, xlPatternDown, xlPatternGrayl6, xlPatternGray25, xlPatternGray50, xlPatternGray75, xlPatternGray8, xlPatternGrid, xlPatternHorizontal, xlPatternLightDown, xlPatternLightHorizontal, xlPatternLightUp, xlPatternLightVertical, xlPatternNone, xlPatternSemiGray75, xlPatternSolid, xlPatternUp, xlPatternVertical
PatternColor Цвет узора в соответствии с RGB-моделью
PatternColorIndex Индексированный цвет узора в соответствии с текущей палитрой цветов

Например, в следующем примере для диапазона A1:D5 устанавливается красная заливка с синим клетчатым узором.

With Range("A1:D5")

.Interior.Color = RGB(255, 0, 0)

.Interior.Pattern = xlPatternChecker

.Interior.PatternColor = RGB(0, 0, 255)

End With

В коде листинга 5.48 выводится таблица цветов и соответствующих значений свойства Colorlndex.

Листинг 5.48. Таблица цветов

Sub ListOfColorlndex()

Dim c As Long

Range("A1").Value = "Цвет"

Range("B1").Value = "Значение свойства Colorlndex"

Range("A2").Select

For с = 1 To 56

With ActiveCell.Interior

.Colorlndex = с

.Pattern = xlSolid

.PatternColorlndex = xlAutomatic

End With

ActiveCell.Offset(0, 1).Value = с

ActiveCell.Offset(1, 0).Activate

Next

Range("Al").Select

ActiveWindow.ScrollRow = 1

End Sub

В качестве еще одной иллюстрации приведем код, который изменяет цвет выбранного диапазона с серого на заданный (листинг 5.49).

Листинг 5.49. Выделение цветом выбранного диапазона.

Модуль рабочего листа

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Cells.Interior.Colorlndex = xlColorlndexNone

Target.Interior.Color = RGB(243, 167, 242)

End Sub

Разрешение редактирования содержимого ячеек на защищенном рабочем листе свойство Locked объекта Range, установленное равным значению False, обеспечивает пользователю возможность редактирования содержимого ячеек даже на защищенном рабочем листе. Например, следующая процедура из модуля ЭтаКнига, обрабатывающая событие Open объекта Workbook, вводит в ячейку С1 формулу =a1+b1 и защищает по паролю stop все ячейки листа, кроме ячеек А1 и В1, в которые пользователь может вводить любые значения (листинг 5,50).

Листинг 5.50. Разрешение редактирования содержимого ячеек на защищенном рабочем листе.

Модуль ЭтаКнига

Private Sub Workbook_Open()

On Error Resume Next

Worksheets(1).Range("CI").Formula ="=A1+B1"

Worksheets(1).Range("A1:B1").Locked = False

Worksheets(1).Protect "stop"

End Sub

Установка числового формата

Свойство NumberFormat объекта Range устанавливает числовой формат. Например, следующие инструкции:

Range("A1").NumberFormat = "General"

Range("A2").NumberFormat = "0.000"

Range("A3").NumberFormat = "hh:mm:ss"

Range("A4").NumberFormat = "d mmm yyyy"

устанавливают:

r в ячейке A1 — общий формат;

r ячейке А2 — числовой формат, отображающий три знака после деся­тичной точки, например, 12.000;

r в ячейке A3 — формат времени с двоеточием в качестве разделителя и по два знака, отведенных под часы, минуты и секунды, например, 02:12:55;

r в ячейке А4 — формат даты, причем два знака отводятся под день, три буквы — под месяц и четыре цифры — под год, например, 01 июл 2002.


Дата добавления: 2019-02-12; просмотров: 359; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!