Rango variable de Excel VBA

En este artículo, veremos un resumen de la variable Excel VBA en rango. Pero el uso de una propiedad de rango significa que un usuario debe saber qué rango usar, ahí es donde entra el rango como variable. En VBA tenemos un tipo de datos como rango que se usa para definir variables como un rango que puede contener un valor del rango . Estas variables son muy útiles en la programación y automatización complejas. A menudo, el rango variable se usa con las instrucciones establecidas y el método de rango. Las declaraciones de conjunto se usan para establecer una variable en un rango de tamaño particular y el método de propiedad de rango se usa para obtener los valores que ya están en ese rango o para reemplazarlos con otro valor. En primer lugar, seamos claros de lo que es un rango?

¿Qué es el rango?

Un rango es un grupo de celdas que puede ser de una sola fila o de una sola columna, también puede ser una combinación de filas y columnas. El rango de VBA es un método que se usa para obtener datos de columnas de filas específicas o una tabla y también se usa para asignar los valores a ese rango.

Primero comenzaremos con el método de propiedad de rango básico y luego con el rango variable. Con todos los ejemplos en una secuencia podremos entender la relación con la variable de rango, la declaración de conjunto y el método de propiedad de rango.

¿Cómo establecer un rango variable en Excel VBA?

Aprenderemos cómo establecer un rango variable diferente en Excel usando el Código VBA.

Puede descargar esta plantilla de Excel de rango variable de VBA aquí - Plantilla de Excel de rango variable de VBA

Rango variable de VBA - Ejemplo # 1

Comencemos nuestro primer ejemplo para el rango variable de la manera más simple, utilizando el método de propiedad de rango. En este ejemplo, asignaremos algunas celdas con nuestros propios valores personalizados utilizando el método de rango. Sigamos los siguientes pasos.

Paso 1: abra un módulo desde el menú Insertar como se muestra a continuación.

Paso 2: escriba el subprocedimiento del rango variable de VBA.

Código:

 Sub Ejemplo1 () End Sub 

Paso 3: Ahora, aquí hay una parte clave para recordar que cualquier procedimiento que escribamos VBA lo ejecuta en la hoja activa o en la hoja de trabajo activa, por lo que para ejecutar los diferentes procedimientos en las diferentes hojas de trabajo necesitamos activarlos primero usando el método Activate .

Código:

 Sub Ejemplo1 () Hojas de trabajo ("Hoja1"). Activar End Sub 

Paso 4: Ahora comencemos la operación simple asignando un valor personalizado a la celda de la hoja de trabajo 1 usando el método de propiedad de rango.

Código:

 Sub Ejemplo1 () Hojas de trabajo ("Hoja1"). Activar Rango ("A1: C3"). Valor = "EDUCBA" Fin Sub 

Paso 5: Ejecute el código presionando la tecla F5 o haciendo clic en el botón Reproducir. Una vez que ejecutamos el código, podemos ver el valor en la Hoja 1 de la siguiente manera.

Podemos ver que en nuestro código elegimos las celdas de A1: C3 para tener estos valores personalizados, este ejemplo fue la representación básica de lo que podemos hacer con el método de propiedad de rango.

Rango variable de VBA - Ejemplo # 2

Ahora usemos Rango como variable en VBA, podemos usar rango como variable y establecer la variable con los valores usando el método de propiedad de rango. En este ejemplo, discutiremos cómo usar la variable de rango para obtener datos de una celda y mostrarlos en la pantalla.

Paso 1: Comenzaremos nuestro próximo ejemplo en el mismo módulo que hemos insertado, por lo que no necesitamos insertar un nuevo módulo para cada procedimiento. Debajo del primer código, inicie otro subprocedimiento.

Código:

 Sub Ejemplo2 () End Sub 

Paso 2: establezcamos una variable como un tipo de datos Range para que pueda contener o almacenar un rango de valores.

Código:

 Sub Ejemplo2 () Dim Rng As Range End Sub 

Paso 3: Ahora hemos discutido anteriormente la importancia de activar una hoja de trabajo antes de usarla para nuestro ejemplo, por lo que debemos activar la Hoja 2.

Código:

 Sub Ejemplo2 () Dim Rng As Range Worksheets ("Sheet2"). Active End Sub 

Paso 4: Antes de comenzar con nuestro próximo código, primero veamos qué hay en el valor de la celda A1 en la hoja 2.

Paso 5: Podemos ver que hay datos en la celda A1, así que usaremos la instrucción Set para asignar el valor de la celda A1 a nuestra variable usando el método de propiedad de rango.

Código:

 Sub Ejemplo2 () Dim Rng As Range Worksheets ("Sheet2"). Active Set Rng = Range ("A1") End Sub 

Paso 6: Ahora, para mostrar el valor que se ha almacenado en nuestra variable, usemos la función msgbox de la siguiente manera en la imagen a continuación.

Código:

 Sub Ejemplo2 () Dim Rng As Range Worksheets ("Sheet2"). Active Set Rng = Range ("A1") MsgBox Rng End Sub 

Paso 7: Ahora, una vez que ejecutamos el código anterior, obtenemos el siguiente resultado.

Rango variable de VBA - Ejemplo # 3

En este ejemplo, utilizaremos una variable como rango para seleccionar algunas celdas de una hoja 3.

Paso 1: La definición del subprocedimiento será la misma que para todos los códigos anteriores, comencemos justo debajo del ejemplo 3 en el mismo módulo como se muestra a continuación.

Código:

 Sub Ejemplo3 () End Sub 

Paso 2: Ahora declare una variable como Tipo de datos de rango para almacenar los valores de un rango.

Código:

 Sub Ejemplo3 () Dim Rng1 As Range End Sub 

Paso 3: Dado que vamos a ejecutar el procedimiento en la hoja 3, activemos primero la Hoja 3.

Código:

 Sub Example3 () Dim Rng1 As Range Worksheets ("Sheet3"). Active End Sub 

Paso 4: Ahora use la instrucción set para asignar un valor de rango a nuestra variable con la ayuda del método de propiedad de rango.

Código:

 Sub Ejemplo3 () Dim Rng1 como hojas de trabajo de rango ("Sheet3"). Active Set Rng1 = Range ("A1: C3") Rng1. Seleccione End Sub 

Paso 5: Ahora usemos la instrucción select para seleccionar el rango en la variable.

Código:

 Sub Ejemplo3 () Dim Rng1 como hojas de trabajo de rango ("Sheet3"). Active Set Rng1 = Range ("A1: C3") Rng1. Seleccione End Sub 

Paso 6: Cuando ejecutamos el código y vamos a la hoja 3, podemos ver el siguiente resultado.

Rango variable de VBA - Ejemplo # 4

Ahora usemos un rango variable para asignar algunos valores a un rango específico y cambiar su fuente mientras tanto.

Paso 1: en el mismo módulo debajo del ejemplo 3 estableceremos otro procedimiento llamado Ejemplo4.

Código:

 Sub Ejemplo4 () End Sub 

Paso 2: Ahora configure una variable como Tipo de datos de rango para almacenar los valores de un rango.

Código:

 Sub Ejemplo4 () Dim Rng2 As Range End Sub 

Paso 3: Dado que vamos a ejecutar el procedimiento en Sheet4, primero activemos Sheet4.

Código:

 Sub Example4 () Dim Rng2 As Range Worksheets ("Sheet4"). Active End Sub 

Paso 4: Ahora use la instrucción set para asignar un valor de rango a nuestra variable con la ayuda del método de propiedad de rango como se muestra a continuación.

Código:

 Sub Ejemplo4 () Dim Rng2 como hojas de trabajo de rango ("Sheet4"). Active Set Rng2 = Range ("A1: C3") End Sub 

Paso 5: Ahora usaremos la propiedad Value de un método de rango para asignar un valor a ese rango.

Código:

 Sub Ejemplo4 () Dim Rng2 como hojas de trabajo de rango ("Sheet4"). Active Set Rng2 = Range ("A1: C3") Rng2.Value = "EDUCBA" End Sub 

Paso 6: Ahora cambiemos la fuente del rango para que quede en negrita con el siguiente código.

Código:

 Sub Example4 () Dim Rng2 As Range Worksheets ("Sheet4"). Active Set Rng2 = Range ("A1: C3") Rng2.Value = "EDUCBA" Rng2.Font.Bold = True End Sub 

Paso 7: Cuando ejecutamos este código, podemos ver el siguiente resultado en la hoja 4 como se muestra a continuación.

Explicación del rango variable de VBA:

Ahora con los ejemplos anteriores, podemos ver cuán útil es el rango variable en nuestra codificación. Permítanme dar un ejemplo de cómo encontrar la última fila en cualquier hoja. No podemos hacer eso con un método de propiedad de rango normal para el que necesitamos una variable como rango porque el método de propiedad de rango será estático y la última fila no se identificará una vez que los datos cambien, pero usando el rango de variable lo hacemos dinámico para que el Los valores también pueden cambiar.

¿Cómo usar el rango variable de VBA?

Permítanme explicar otro ejemplo sobre cómo usar el rango variable en código de tiempo real. Digamos que tenemos diferentes valores en Sheet5 como se muestra a continuación.

Y quiero encontrar qué fila tiene el valor "EDUCBA", queremos que se muestre el número de fila.

Código:

 Sub Ejemplo5 () Dim ws como hoja de trabajo Dim FoundCell como rango Dim WTF como cadena Dim k como número entero Set ws = Worksheets ("Sheet5") WTF = Range ("A1"). Valor establecido FoundCell = ws.Range ("A: A ") .Find (What: = WTF) k = FoundCell.Row MsgBox" Encontró el valor en la fila "& k End Sub 

Cuando ejecutamos el código, se muestra el siguiente resultado.

Permítanme explicar el código, la variable Foundcell es un rango variable que busca el valor de A1 en un rango completo A: A y cuando se encuentra el valor, muestra el número de fila con el método Row.

Cosas para recordar

  • El rango variable es una variable con tipo de datos de rango.
  • Se define como lo mismo que la Declaración Dim.
  • Usamos la instrucción Set para asignar un rango a la variable.
  • El método de propiedad de rango se utiliza para acceder a los valores de la variable de rango.

Artículos recomendados

Esta es una guía para el rango variable de VBA. Aquí discutimos cómo establecer un rango variable en Excel usando el código VBA junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Rango de selección de VBA (ejemplos)
  2. Declaraciones de VBA IF | Plantilla de Excel
  3. Declaración de variables de VBA con tipos de datos
  4. Descripción general del número de formato VBA

Categoría: