Rango de VBA Set

Establecer rango en Excel VBA

Establecer rango en vba significa que especificamos un rango dado para el código o el procedimiento a ejecutar, si no proporcionamos un rango específico a un código, automáticamente asumirá el rango de la hoja de trabajo que tiene la celda activa, por lo que es muy importante en el código para tener una variable de rango establecida.

Después de trabajar con Excel tantos años, debe haber entendido el hecho de que todos los trabajos que hacemos están en la hoja de trabajo y en las hojas de trabajo son las celdas las que contienen los datos. Entonces, cuando quiera jugar con los datos, debe ser un patrón de comportamiento de las celdas en las hojas de trabajo. Entonces, cuando las múltiples celdas se juntan, se convierte en un RANGO. Para aprender VBA, debe saber todo sobre celdas y rangos. Entonces, en este artículo, le mostraremos cómo configurar el rango de celdas que se pueden usar para la codificación VBA en detalle.

¿Qué es el objeto Range?

El rango en VBA se conoce como objeto. Un rango puede contener una sola celda, varias celdas, una fila o columna, etc.…

En VBA podemos clasificar el rango de la siguiente manera.

“Aplicación >>> Libro de trabajo >>> Hoja de trabajo >>> Rango”

Primero, debemos acceder a la Aplicación, luego, debajo de esto, debemos referir a qué libro de trabajo nos referimos y en el libro de trabajo, nos referimos a qué hoja de trabajo nos referimos y luego en la hoja de trabajo debemos mencionar el rango de celdas.

Usando Rango de celdas podemos ingresar el valor en la celda o celdas, podemos leer u obtener valores de la celda o celdas, podemos borrar, podemos formatear y podemos hacer muchas otras cosas también.

¿Cómo acceder al rango de celdas en Excel VBA?

Puede descargar esta plantilla de Excel VBA Set Range aquí - VBA Set Range Excel Template

En la codificación VBA, podemos hacer referencia a la celda utilizando la propiedad VBA CELLS y el objeto RANGE. Por ejemplo, si desea hacer referencia a la celda A1, primero veremos el uso del objeto RANGE.

Dentro del subprocedimiento, primero debemos abrir el objeto RANGE.

Código:

 Sub Range_Examples () Rango (End Sub 

Como puede ver arriba, el objeto RANGE pregunta cuál es la celda a la que nos referimos. Por lo tanto, debemos ingresar la dirección de la celda entre comillas dobles.

Código:

 Sub Rango_Ejemplos () Rango ("A1") Fin Sub 

Una vez que se proporciona la dirección de la celda, debemos decidir qué hacer con esta celda utilizando propiedades y métodos. Ahora ponga un punto para ver las propiedades y métodos del objeto RANGE.

Si queremos insertar el valor en la celda, entonces debemos elegir la propiedad "Valor".

Código:

 Sub Rango_Ejemplos () Rango ("A1"). Valor Fin Sub 

Para establecer el valor, debemos poner un signo igual e ingresar el valor que queremos insertar en la celda A1.

Código:

 Sub Range_Examples () Range ("A1"). Value = "Excel VBA Class" End Sub 

Ejecute el código a través de la opción de ejecución y vea la magia en la celda A1.

Como se menciona en el código, tenemos el valor en la celda A1.

De manera similar, también podemos hacer referencia a la celda usando la propiedad CELLS. Abra la propiedad CELLS y vea la sintaxis.

Esto es diferente al objeto RANGE donde podemos ingresar la dirección de la celda directamente entre comillas dobles, en lugar de eso necesitamos dar el número de fila y la columna para referirnos a la celda. Como nos referimos a la celda A1, podemos decir que la fila es 1 y la columna es 1.

Después de mencionar la dirección de la celda, podemos usar propiedades y métodos para trabajar con celdas. Pero el problema aquí es diferente al objeto de rango después de poner un punto, no podemos ver la lista intellisense.

Por lo tanto, debe ser un experto para hacer referencia a las celdas mediante la propiedad CELLS.

Código:

 Sub CELLS_Examples () Cells (1, 1) .Value = "Excel VBA Class" End Sub 

Acceso a múltiples celdas y referencia de rango de configuración en VBA

Una de las grandes diferencias entre CELLS & RANGE es que usando CELLS podemos acceder a una sola celda, pero usando RANGE también podemos acceder a múltiples celdas.

Por ejemplo, para las celdas A1 a B5, si queremos el valor 50, podemos escribir el código como se muestra a continuación.

Código:

 Sub Range_Examples () Range ("A1: B5"). Valor = 50 End Sub 

Esto insertará el valor de 50 de la celda A1 a B5.

En lugar de hacer referencia a las celdas directamente, podemos usar la variable para contener la referencia de celdas especificadas.

Primero, defina la variable como el objeto "Rango".

Código:

 Sub Range_Examples () Dim Rng As Range End Sub 

Una vez que la variable se define como el objeto "Rango", necesitamos establecer la referencia para esta variable sobre cuáles son las direcciones de celda a las que va a contener la referencia.

Para establecer la referencia necesitamos usar la palabra clave "SET" e ingresar las direcciones de celda usando el objeto RANGE.

Código:

 Sub Range_Examples () Dim Rng As Range Establecer Rng = Range ("A1: B5") End Sub 

Ahora, la variable "Rng" se refiere a las celdas A1 a B5.

En lugar de escribir el rango de direcciones de celda (“A1: B5”), simplemente podemos usar el nombre de variable “Rng”.

Código:

 Sub Range_Examples () Dim Rng As Range Set Rng = Range ("A1: B5") Rng.Value = "Range Setting" End Sub 

Ahora esto insertará el valor mencionado de la celda A1 a la celda B5.

Supongamos que desea que la celda seleccionada sea una referencia, entonces podemos establecer la referencia de la siguiente manera.

Código:

 Sub Range_Examples () Dim Rng As Range Set Rng = Selection Rng.Value = "Configuración de rango" End Sub 

Esto es una belleza porque si selecciono cualquiera de las celdas y la ejecuto, insertará el valor en esas celdas también.

Por ejemplo, seleccionaré ciertas celdas.

Ahora ejecutaré el código y veré qué sucede.

Para todas las celdas seleccionadas ha insertado el valor.

De esta manera, podemos establecer la referencia de rango declarando variables en VBA.

Cosas para recordar

  • El rango puede seleccionar varias celdas, pero CELLS puede seleccionar una celda a la vez.
  • RANGE es un objeto y CELLS es propiedad.
  • Cualquier variable de objeto debe establecerse como referencia del objeto mediante la palabra clave SET.