Выбор элементов на рабочем листе или в книге



Выбор элемента, например, диапазона на рабочем листе производится методом select. Например, для того чтобы очистить содержимое ячейки А1, ее надо выбрать, а затем к полученному объекту Selection применить метод ClearContents:

Range("A1).Select

Selection.ClearContents

Конечно, того же самого результата можно достичь, применив метод ClearContents непосредственно к объекту Range ("A1”):

Range("A1).ClearContents

Затем, не изменяя текущей активной ячейки, например, при помощи метода Offset переместиться к другой ячейке (в данном случае ячейке В2) и произвести над ней какие-либо действия, например, очистить ее содержимое:

Range("A1").Offset(1,1).ClearContents

Метод Select позволяет выбрать не только одну ячейку, но и целый диапазон. Например, первая из приводимых инструкций выбирает диапазон А1:В2, вторая — ячейки A1, B2, D9, а третья — диапазон В2:С4 и ячейки A1, D9.

Range("Al:В2").Select

Range("A1,B2,D9").Select

Range("A1,B2:C4,D9").Select

Метод Activate позволяет не только выбирать, но и активизировать указанный объект. Например, первая из приводимых далее инструкций активизирует рабочую книгу, в которой в данный момент выполняется макрос, вторая — окно с рабочей книгой Отчет.хls, а третья — рабочий лист Май.

ThisWorkbook.Activate

Windows(Отчет.хls").Activate

Sheets("Май").Activate

Свойство ActiveCell возвращает активную ячейку. Например, в следующем коде сначала определяется активная ячейка (например, ей будет А1), затем методом Offset возвращается ссылка на ячейку, которая находится на одну строку ниже и на три столбца правее активной, и эта ячейка затем выбирается методом Select (в данном случае Е2).

ActiveCell.Offset(1, 3).Select

Если есть несколько ячеек, имена которых образуют нумерованную после­довательность, то для работы с ними можно воспользоваться оператором цикла. Например, в коде листинга 5.42 ячейкам с именами с_1, с_2 и с_з присваиваются в цикле значения, соответствующие их индексам.

Листинг 5.42. Работа с ячейками, имена которых представляют нумерованную последовательность

Sub SetValues()

Dim i As Integer

Dim cellName As String

For i = 1 To 3

cellName = "c__" & i

Range([cellName]).Value = i

Next

End Sub

Для того чтобы выбрать первую ячейку столбца/строки, в которой находится активная ячейка, можно воспользоваться следующими инструкциями:

ActiveCell.Offset(0, -ActiveCell.Column + 1).Select

ActiveCell.Offset(-ActiveCeii.Row + 1,0).Select

Для того чтобы выбрать диапазон от указанной ячейки (например, активной) вниз/вверх вдоль столбца или влево/вправо вдоль строки до первой пустой ячейки, подойдут следующие инструкции

Range(ActiveCell, ActiveCell.End(xlDown)).Select

Range(ActiveCell, ActiveCell.End(xlUp)).Select

Range(ActiveCell, ActiveCell.End(xlToLeft)).Select

Range(ActiveCell, ActiveCell.End(xlToRight)).Select

Для того чтобы выбрать диапазон ячеек от активной до другой ячейки, которая находится на специфицированном расстоянии от активной, можно применить следующую инструкцию:

Range(ActiveCell, ActiveCell.Offset(3, 4)).Select

Для того чтобы выбрать первую пустую ячейку в столбце/строке (в данном случае столбец А/первая строка), воспользуйтесь следующими инструкциями:

Range("A1").End(xlDown).Offset(1, 0).Select

Range("A1").End(xlToRight).Offset(0,1).Select

Для изменения размеров выбранного диапазона применяется метод Resize, который возвращает диапазон, имеющий указанные размеры и с левой верхней вершиной, совпадающей с соответствующей вершиной искомого диапазона. Например, если первоначально выбран диапазон В2:С4, то следующая инструкция выбирает диапазон B2:F5:

Selection.Resize(4, 5).Select


Как проверить, является ли

Диапазон выбранным объектом?

Функция TypeName возвращает имя типа значения ее параметра. Поэтому, если надо проверить, является ли диапазон выбранным объектом, просто надо воспользоваться функцией TypeName (листинг 5.43).

Листинг 5.43. Проверка, является ли диапазон выбранным объектом

Function IsRange() As Boolean

If TypeName(Selection) = "Range" Then

IsRange = True

Else

IsRange = False

End If

End Function


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

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






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