Свойство Range.Cells (Excel)
Возвращает объект Range, представляющий ячейки в указанном диапазоне.
Примечание.
Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.
Синтаксис
выражение.Cells
выражение: переменная, представляющая объект Range.
Замечания
Возвращаемое значение — это объект Range, состоящий из отдельных ячеек, что позволяет использовать версию свойства Item с двумя параметрами, а циклу For Each
— выполнять итерацию по отдельным ячейкам.
Так как элемент по умолчанию объекта Range направляет вызовы с параметрами в свойство Item, можно указать индекс строки и столбца сразу после ключевого слова Cells, вместо явного вызова свойства Item.
Использование свойства Cells без квалификатора объекта аналогично методу ActiveSheet.Cells.
Пример
В этом примере для ячеек B2:D6 листа Sheet1 (Лист1) активной книги устанавливается курсив в качестве стиля шрифта.
With Worksheets("Sheet1").Range("B2:Z100")
.Range(.Cells(1, 1), .Cells(5, 3)).Font.Italic = True
End With
В этом примере показано, как проверить столбец данных с именем myRange. Если ячейка содержит то же значение, что и предыдущая ячейка, в примере отображается адрес ячейки, содержащей повторяющиеся данные.
Set r = Range("myRange")
For n = 2 To r.Rows.Count
If r.Cells(n-1, 1) = r.Cells(n, 1) Then
MsgBox "Duplicate data in " & r.Cells(n, 1).Address
End If
Next
В этом примере показано, как свойство Cells изменяет поведение элемента Item.
Public Sub PrintRangeAdresses
Dim columnsRange As Excel.Range
Set columnsRange = ThisWorkBook.Worksheets("exampleSheet").Range("B2:Z100").Columns
Debug.Print columnsRange.Item(2).Address 'Prints "$C$2:$C$100"
Debug.Print columnsRange.Cells.Item(2).Address 'Prints "$C$2"
Debug.Print columnsRange.Cells.Item(2,1).Address 'Prints "$B$3"
End Sub
В этом примере показано, как свойство Cells изменяет поведение перечисления.
Public Sub PrintAllRangeAdresses
Dim columnsRange As Excel.Range
Set columnsRange = ThisWorkBook.Worksheets("exampleSheet").Range("B2:C3").Columns
Dim columnRange As Excel.Range
For Each columnRange In columnsRange
Debug.Print columnRange.Address 'Prints "$B$2:$B$3", "$C$2:$C$3"
Next
Dim cell As Excel.Range
For Each cell In columnsRange.Cells
Debug.Print cell.Address 'Prints "$B$2", "$C$2", "$B$3", "$C$3"
Next
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.