Поделиться через


Свойство Worksheet.Range (Excel)

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

Синтаксис

expression. Диапазон (ячейка1, ячейка2)

Выражение Переменная, представляющая объект Worksheet .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Cell1 Обязательный Variant Строка, которая является ссылкой на диапазон при использовании одного аргумента. Строка, которая является ссылкой на диапазон, или объект Range, если используются два аргумента.
Cell2 Необязательный Variant Строка, которая является ссылкой на диапазон, или объект Range. Cell2 определяет другую крайность диапазона, возвращаемого свойством .

Замечания

Cell1 и Cell2 могут быть ссылками в стиле A1 на языке макроса. Ссылки на диапазоны могут включать оператор диапазона (двоеточие), оператор пересечения (пробел) или оператор union (запятая). Они также могут включать знаки доллара, которые игнорируются. Локальное имя может быть ссылкой на диапазон. При использовании имени предполагается, что оно записано на языке макроса.

Cell1 и Cell2 могут быть объектами Range , содержащими одну ячейку, столбец, строку или любой другой диапазон ячеек.

Часто ячейки Cell1 и Cell2 являются отдельными ячейками в левом верхнем и нижнем правом углах возвращаемого диапазона.

При использовании без квалификатора объекта это свойство является ярлыком для ActiveSheet.Range (оно возвращает диапазон из активного листа; если активный лист не является листом, свойство завершается ошибкой).

При применении к объекту Range это свойство выполняется относительно объекта Range. Например, если выделено ячейка C3, возвращает ячейку D3, Selection.Range("B1") так как она относительно объекта Range , возвращаемого свойством Selection . С другой стороны, код ActiveSheet.Range("B1") всегда возвращает ячейку B1.

Примеры

В этом примере ячейке A1 на Листе1 присваивается значение 3,14159.

Worksheets("Sheet1").Range("A1").Value = 3.14159

В этом примере создается формула в ячейке A1 на Листе1.

Worksheets("Sheet1").Range("A1").Formula = "=10*RAND()"

В этом примере выполняется цикл по ячейкам A1:D10 на листе 1 активной книги. Если в одной из ячеек есть значение меньше 0,001, в коде выполняется замена этого значения на 0 (ноль).

For Each c in Worksheets("Sheet1").Range("A1:D10") 
 If c.Value < .001 Then 
 c.Value = 0 
 End If 
Next c

В этом примере выполняется цикл в диапазоне с именем TestRange и отображается количество пустых ячеек в диапазоне.

numBlanks = 0 
For Each c In Range("TestRange") 
 If c.Value = "" Then 
 numBlanks = numBlanks + 1 
 End If 
Next c 
MsgBox "There are " & numBlanks & " empty cells in this range"

В этом примере стиль шрифта в ячейках A1:C5 на листе 1 активной книги задается курсивом. В примере используется синтаксис 2 свойства Range.

With Worksheets("Sheet1")
	.Range(.Cells(1, 1), .Cells(5, 3)).Font.Italic = True
End With

В этом примере сравнивается свойство Worksheet.Range , метод Application.Union и метод Application.Intersect .

Range("A1:A10").Select                            'Selects cells A1 to A10.
Range(Range("A1"), Range("A10")).Select           'Selects cells A1 to A10.
 Range("A1, A10").Select                          'Selects cells A1 and A10.
Union(Range("A1"), Range("A10")).Select           'Selects cells A1 and A10.
 Range("A1:A5 A5:A10").Select                     'Selects cell A5.
Intersect(Range("A1:A5"), Range("A5:A10")).Select 'Selects cell A5.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.