Propiedad Worksheet.Cells (Excel)
Devuelve un objeto Range que representa todas las celdas de la hoja de cálculo (no solo las celdas que están actualmente en uso).
Sintaxis
expresión. Celdas
Expresión Variable que representa un objeto Worksheet .
Comentarios
Dado que el miembro predeterminado de Range reenvía las llamadas con parámetros a la propiedad **[Item, puede especificar el índice de fila y de columna inmediatamente después de la palabra clave Cells en vez de hacer una llamada explícita a [Item.
Si se usa esta propiedad sin un calificador de objeto, se devuelve un objeto Range que representa todas las celdas de la hoja activa.
Ejemplo
En este ejemplo se establece el tamaño de fuente de la celda C5 en Sheet1 del libro activo en 14 puntos.
Worksheets("Sheet1").Cells(5, 3).Font.Size = 14
En este ejemplo se borra la fórmula de la celda uno de Sheet1 del libro activo.
Worksheets("Sheet1").Cells(1).ClearContents
En este ejemplo se establece el tamaño de fuente y fuente de cada celda de Sheet1 en Arial de 8 puntos.
With Worksheets("Sheet1").Cells.Font
.Name = "Arial"
.Size = 8
End With
En este ejemplo, se alterna el orden entre ascendente y descendente al hacer doble clic en cualquier celda del rango de datos. Los datos se ordenan según la columna de la celda en la que se hace doble clic.
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
En este ejemplo se examina la columna C de la hoja activa y, para cada celda que tiene un comentario, coloca el texto del comentario en la columna D y elimina el comentario de la columna 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
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.