Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Свойства Column и Row (r/o Integer)

Свойства возвращают целое число, показывающее индекс первого столбца или первой строки соответственно для заданного объекта. Синтаксис свойств

object.Column

object Row

  • object – обязательная ссылка на объект Range.

Например, запись Range("C5").Column возвращает число 3, а запись Range("C5").Row возвращает число 5.

Свойства Columns и Rows

Свойство Columns (не путайте со свойством Column!) возвращает объект Range, представляющий колонку или коллекцию колонок в объекте, к которому это свойство было применено.

Синтаксис Object.Columns(index)

  • object – ссылка на объект. Указание необязательно, по умолчанию используется активный рабочий лист;

  • index – индекс колонки в объекте.

Например, запись Columns(1) возвращает колонку A активного рабочего листа, а запись Range("C1:D5").Columns(1) возвращает колонку C заданного интервала, а именно, ячейки C1:C5.

Важно

  • Если не указан индекс колонки, то возвращаются все колонки объекта в виде объекта Range.

  • Индекс колонки можно указывать числом или буквой, при этом буква заключается в кавычки. Ссылки Columns(2) и Columns("B") указывают на одну и ту же колонку B.

Пример

Процедура распечатывает значения свойств Column и Count для различных интервалов ячеек.

Public Sub columns_union()

Debug.Print Range("C1:D5").Columns.Count ‘число колонок

Debug.Print Range("C1:D5").Count ’число ячеек

Set rng = Union(Range("d2:e6"), Range("f5:H15"))

Debug.Print rng.Columns.Count ‘количество колонок в первом интервале объединенной области

Debug.Print rng.Column ‘номер первой колонки первого интервала объединенной области

Debug.Print rng.Columns(3).Column ‘номер третьей колонки в объединенной области

End Sub

Результат

число 2

число 10

число 2

число 4

число 6

Свойство Rows (не путайте со свойством Row!) возвращает объект Range, представляющий строку или коллекцию строк в объекте, к которому это свойство было применено.

Синтаксис Object.Rows(index)

  • object – ссылка на объект. Указание необязательно, по умолчанию используется активный рабочий лист;

  • index – индекс строки в объекте.

Важно

  • Если не указан номер строки, то возвращаются все строки объекта в виде объекта Range.

Например, оператор nr=Selection.Rows(Selection.Rows.Count).Row позволяет получить номер последней строки в выделенном интервале ячеек.

Свойство CurrentRegion

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

Пример

В процедуре сравниваются значения первой ячейки первой строки и первой ячейки каждой следующей строки заполненного данными интервала, окружающего первую ячейку. Если значения совпадают, то очередная строка удаляется.

Sub row_del()

Dim n As Integer, m As Integer

Dim this, last

n = 1

m = ActiveSheet.Cells(1, 1).CurrentRegion.Rows.Count

this = Cells(1, 1).Value

Do While n < m

last = Cells(n + 1, 1).Value

If this = last Then

Rows(n + 1).Delete

m = m - 1

Else

n = n + 1

End If

Loop

End Sub

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