Propiedad Range.Cells (Excel)

Devuelve un objeto Range que representa las celdas del rango especificado.

Nota:

¿Le interesa el desarrollo de soluciones que amplían la experiencia de Office en varias plataformas? Vea el nuevo modelo de complementos de Office. Los complementos de Office tienen una huella pequeña en comparación con los complementos y soluciones de VSTO, y se pueden construir utilizando casi cualquier tecnología de programación web, como HTML5, JavaScript, CSS3 y XML.

Sintaxis

expresión. Celdas

expresión Variable que representa un objeto Range.

Comentarios

El valor devuelto es Range formado por celdas individuales, que permite usar la versión de Item con dos parámetros e iterar en las celdas individuales con un bucle For Each.

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.

Usar Cells sin un calificador de objeto equivale a ActiveSheet.Cells.

Ejemplo

Este ejemplo establece como cursiva el estilo de fuente de las celdas B2:D6 en la Hoja1 del libro activo.

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

En este ejemplo se examina una columna de datos denominada myRange. Si una celda contiene el mismo valor que la celda inmediatamente anterior, el ejemplo muestra la dirección de la celda que contiene los datos duplicados.

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

Este ejemplo muestra cómo Cells cambia el comportamiento del miembro 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

Este ejemplo muestra cómo Cells cambia el comportamiento de la enumeración.

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

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.