Выбор элементов на рабочем листе или в книге
Выбор элемента, например, диапазона на рабочем листе производится методом 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!