Свойство Worksheet.Cells (Excel)
Возвращает объект Range , представляющий все ячейки на листе (а не только используемые в данный момент ячейки).
Синтаксис
выражение.Cells
Выражение Переменная, представляющая объект Worksheet .
Замечания
Так как элемент по умолчанию объекта Range направляет вызовы с параметрами в свойство Item, можно указать индекс строки и столбца сразу после ключевого слова Cells, вместо явного вызова свойства Item.
При использовании этого свойства без квалификатора объекта возвращается объект Range, который представляет все ячейки на активном листе.
Пример
В этом примере размер шрифта ячейки C5 на листе 1 активной книги устанавливается в 14 пунктов.
Worksheets("Sheet1").Cells(5, 3).Font.Size = 14
В этом примере формула очищается в ячейке 1 на листе 1 активной книги.
Worksheets("Sheet1").Cells(1).ClearContents
В этом примере шрифт и размер шрифта для каждой ячейки на листе Sheet1 устанавливается значение Arial из 8 точек.
With Worksheets("Sheet1").Cells.Font
.Name = "Arial"
.Size = 8
End With
В этом примере выполняется переключение сортировки между порядком по возрастанию и убыванию при двойном щелчке любой ячейки в диапазоне данных. Данные сортируются по столбцу ячейки, дважды щелкнув которую.
Option Explicit
Public blnToggle As Boolean
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim LastColumn As Long, keyColumn As Long, LastRow As Long
Dim SortRange As Range
LastColumn = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
keyColumn = Target.Column
If keyColumn <= LastColumn Then
Application.ScreenUpdating = False
Cancel = True
LastRow = Cells(Rows.Count, keyColumn).End(xlUp).Row
Set SortRange = Target.CurrentRegion
blnToggle = Not blnToggle
If blnToggle = True Then
SortRange.Sort Key1:=Cells(2, keyColumn), Order1:=xlAscending, Header:=xlYes
Else
SortRange.Sort Key1:=Cells(2, keyColumn), Order1:=xlDescending, Header:=xlYes
End If
Set SortRange = Nothing
Application.ScreenUpdating = True
End If
End Sub
В этом примере выполняется просмотр столбца C активного листа, и для каждой ячейки с комментарием текст примечания помещается в столбец D и удаляется комментарий из столбца C.
Public Sub SplitCommentsOnActiveSheet()
'Set up your variables
Dim cmt As Comment
Dim rowIndex As Integer
'Go through all the cells in Column C, and check to see if the cell has a comment.
For rowIndex = 1 To WorksheetFunction.CountA(Columns(3))
Set cmt = Cells(rowIndex, 3).Comment
If Not cmt Is Nothing Then
'If there is a comment, paste the comment text into column D and delete the original comment.
Cells(rowIndex, 4) = Cells(rowIndex, 3).Comment.Text
Cells(rowIndex, 3).Comment.Delete
End If
Next
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.