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 la fuente y el tamaño de 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, se coloca el texto del comentario en la columna D y se 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.