Los objetos range y cells en la mayoría de casos pueden ser utilizados sin distinción alguna, sin embargo hay casos puntuales donde se recomienda el uso de uno de los dos.
USO COMÚN
Para seleccionar una celda
Ejemplo:
Si se quiere seleccionar la celda "C2", se tiene dos opciones.
Range("C2").select o Cells(2,3).select
* cells(i,j) , donde i=fila i ; j=columna j.
Para dar valor a una celda
Ejemplo:
-Si se desea darle valor a la celda "C2" =620, se tiene dos opciones
Range("C2").value=620 o Cells(2,3).value=620
PARTICULARIDADES
Objeto Range
- Permite seleccionar mas de una celda.
Ejemplo:
range("A1:B5").select
*El objeto cells , no permite seleccionar mas de una celda.
Objeto Cells
- Es compatible con selección de celdas bajo un patrón de formula. La ventaja del uso del objeto cells, es permitir vincular funciones numéricas al uso de las celdas y/o a su selección.
Ejemplo:
Se desea conocer la suma que de la combinación de una fila y columna, entonces se establece el siguiente programa:
Sub celdasuma()
For i = 1 To 10 For j = 1 To 10
Cells(i, j).Value = i + j
Next i
Next j
End Sub
De esta forma se conocerá lo propuesto en el ejemplo, asimismo los rangos podrán ampliarse de acuerdo a lo deseado.
Elaborado por: Ana Ibáñez.
01/08/2014 a las 9:38 am
Esta aplicación también nos ayudará a seleccionar un rango de celdas en otra hoja del mismo libro mediante una celda.
02/08/2014 a las 1:38 pm
El objeto Cells ofrece una ventaja cuando necesitamos hacer un recorrido programático por varias celdas ya que será muy sencillo especificar las filas y columnas utilizando una variable numérica. Un ejemplo en estructuras de control iterativas
13/02/2015 a las 10:17 pm
De mucha utilidad aclarar la diferencia.
Con RANGE se pueden seleccionar varias celdas.
Con CELLS, se hace referencia a una sola celda en particular del libro. Esto se emplea mediante coordenadas, la primera haciendo referencia a las filas y la segunda a las columnas.
21/04/2016 a las 5:03 pm
Combinando RANGE y CELLS te permite seleccionar un Rango de celdas, y a la vez utilizando los parametros de fila y columna:
Por ejemplo
Range(Cells(2, 4), Cells(2, 10)).Select
11/07/2019 a las 4:47 pm
Excelente ayuda range (cells(i,j),cells(i,j+5))
26/11/2021 a las 2:18 am
GRACIAS
23/04/2021 a las 1:31 pm
Si quiero colocar un valor en una celda y poder referir la celda con variables es más práctico con el objeto cell que range. Ya que por su sintaxis es más factible
08/11/2022 a las 2:43 pm
Es impresionante como ayuda este material en el aprendizaje de VBA-EXCEL
Herberth Miranda: Se nota que te has amigado mucho con Cells, pero va depender mucho en la situación donde sea necesario usar Range(col &fila)
dim col as string
dim fila as integer
col = "A"
Fila = 1
Range(col & Fila).Select
en este ejemplo estoy seleccionado la columna A y Fila 1