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.