Excel de celdas de VBA - ¿Cómo usar la propiedad de referencia de celda con el objeto de rango?

Tabla de contenido

Las celdas son en realidad celdas de la hoja de trabajo y en VBA cuando nos referimos a las celdas como una propiedad de rango, en realidad nos estamos refiriendo a las celdas exactas, en otras palabras, la celda se usa con la propiedad de rango y el método de usar la propiedad de celdas es el siguiente Rango ( .Cells (1,1)) ahora las celdas (1,1) significa que la celda A1, el primer argumento es para la fila y el segundo es para la referencia de la columna.

Referencias de celda de VBA

No necesita ninguna introducción especial sobre lo que es una celda VBA. En los conceptos de VBA, las celdas también son iguales, no diferentes de las celdas normales de Excel. Siga este artículo para tener más conocimientos sobre el concepto de células VBA.

¿Qué es el rango VBA y la celda VBA?

Estoy seguro de que esta es la pregunta que tiene en mente ahora mismo. En VBA, Range es un objeto, pero Cell es una propiedad en una hoja de Excel. En VBA, tenemos dos formas de hacer referencia a un objeto de celda, una a través de Rango y otra a través de Celdas.

Por ejemplo, si desea hacer referencia a la celda C5, puede utilizar dos métodos para hacer referencia a la celda C5.

Usando el método de rango: Rango ("C5")

Usando el método de celdas: celdas (5, 3)

De manera similar, si desea insertar el valor "Hola" en la celda C5, puede usar el siguiente código.

Usando el método de rango: Rango ("C5"). Valor = "Hola"

Uso del método de celdas: celdas (5, 3) .Valor = "Hola"

Ahora, si desea seleccionar varias celdas, solo podemos seleccionar a través del objeto Rango. Por ejemplo, si quiero seleccionar celdas de A1 a A10, a continuación se muestra el código.

Código: Rango ("A1: A10"). Seleccionar

Pero desafortunadamente, solo podemos hacer referencia a una celda a la vez usando la propiedad CELLS. Podemos usar Cells con un objeto Range como el siguiente.

Rango (“A1: C10”). Las celdas (5,2) significan en el rango de A1 a C10, quinta fila y segunda columna, es decir, celda B5.

La fórmula de la propiedad CELLS en VBA

Eche un vistazo a la fórmula de la propiedad CELLS.

  • Índice de filas: esto no es más que a qué fila nos referimos.
  • Índice de columna: no es más que la columna a la que nos referimos.
  • Celdas (1, 1) significa celda A1, Celdas (2, 1) significa celda A2, Celdas (1, 2) significa celda B1.
  • Celdas (2, 2) significa celda B2, Celdas (10, 3) significa celda C10, Celdas (15, 5) significa celda E15.

# 1 - ¿Cómo usar la propiedad CELLS en VBA?

Ahora te enseñaré cómo usar estas propiedades CELLS en VBA.

Suponga que está trabajando en el nombre de la hoja denominado Datos 1 y desea insertar un valor "Hola" en la celda A1.

El siguiente código lo haría por usted.

Sub Cells_Example () Cells (1, 1) .Value = "Hola" End Sub

Resultado:

Ahora iré al nombre de la hoja llamada Datos 2 y ejecutaré el código. Incluso allí, insertará la palabra "Hola".

De hecho, también podemos combinar la propiedad CELLS con un nombre de hoja en particular. Para hacer referencia a una hoja en particular, use el objeto WORKSHEET.

Hojas de trabajo ("Datos 1"). Celdas (1,1) .Valor = "Hola"

Esto insertará la palabra "Hola" en la hoja "Datos 1" independientemente de la hoja en la que se encuentre.

# 2 - ¿Cómo usar la propiedad CELLS con el objeto Range?

De hecho, podemos usar la propiedad CELLS con un objeto RANGE. Por ejemplo, mire el siguiente código.

Rango ("C2: E8"). Celdas (1, 1) .Seleccionar

Para una mejor comprensión, ingresé algunos números en la hoja de Excel.

El código anterior Rango (“C2: E8”). Celdas (1, 1). Seleccionar dice en el rango C2 a E8 seleccionar la primera celda. Ejecute este código y vea qué sucede.

Sub Cells_Example () Range ("C2: E8"). Cells (1, 1) .Select End Sub

Ha seleccionado la celda C2. Pero Cells (1, 1) significa celda A1, ¿no es así?

La razón por la que ha seleccionado la celda C2 es porque al usar el objeto de rango, hemos insistido en el rango de C2 a E8, por lo que la propiedad Cells trata el rango de C2 a E8, no de la celda A1 normal. En este ejemplo, C2 es la primera fila y la primera columna, por lo que Cells (1, 1) .select significa celda C2.

Ahora cambiaré el código a Rango (“C2: E8”). Celdas (3, 2). Seleccione y vea qué sucede.

Ejecute este código y verifique qué celda seleccionará realmente.

Sub Cells_Example () Range ("C2: E8"). Cells (3, 2) .Select End Sub

Ha seleccionado la celda D4, es decir, No 26. Las celdas (3,2) significan comenzar desde la celda C2 movida 3 filas hacia abajo y mover 2 columnas hacia la derecha, es decir, celda D4.

# 3 - Propiedad de celdas con bucles

La propiedad CELLS con bucles tiene una muy buena relación en VBA. Veamos el ejemplo de insertar números de serie del 1 al 10 usando FOR LOOP. Copie y pegue el siguiente código en su módulo.

Sub Cells_Example () Dim i As Integer For i = 1 to 10 Cells (i, 1) .Value = i Next i End Sub

Aquí he declarado la variable I como un número entero.

Luego he solicitado FOR LOOP con I = 1 a 10, es decir, y el bucle debe ejecutarse 10 veces.

Celdas (i, 1) .valor = i

Esto significa que cuando el ciclo se ejecuta por primera vez, el valor de "I" será 1, por lo que siempre que el valor de "I" sea 1, es decir, Cell (1,1) .value = 1

Cuando el bucle devuelve el valor de "I" por segunda vez, es 2, por lo que dondequiera que esté el valor de "I", es 2. es decir, Cell (2,1) .value = 2

Este ciclo se ejecutará 10 veces e insertará el valor I de A1 a A10.

Cosas para recordar en las celdas VBA

  • CELLS es propiedad, pero el RANGE es un Objeto. Podemos usar propiedad con objetos pero no objetar la propiedad.
  • Cuando se proporciona el rango, las celdas considerarán solo ese rango, no el rango regular.
  • Las células (1, 2) son células B1, de manera similar, las células (1, ”B”) también son células B1.

Articulos interesantes...