Tabla de contenido
En este artículo, te mostraré cómo puedes utilizar la función Rangos usados propiedad de VBA en Excel. Aprenderá a utilizar la función UsadosRange para un rango cerrado, para un rango disperso, para una hoja de cálculo inactiva y también para un libro de trabajo inactivo.
Descargar el cuaderno de prácticas
Descárgate este cuaderno de ejercicios para practicar mientras lees este artículo.
Excel VBA UsedRange.xlsmUna introducción a la propiedad UsedRange de VBA en Excel
En UsadosRange propiedad de VBA devuelve un Gama Devuelve un rango formado por todas las celdas de una hoja de cálculo que se han utilizado, incluida una fila vacía al principio.
En un VBA código, el Rangos usados junto con el nombre de la hoja de cálculo. Por lo tanto, la sintaxis común para utilizar la propiedad UsadosRange de la hoja de cálculo activa:
Dim Rng As Range
Set Rng = HojaActiva.RangoUtilizado
⧭ Notas:
- Aquí Rng es el nombre del Gama devuelto por el UsadosRange Puedes usar lo que quieras.
- Para ejercer la UsadosRange en una hoja de cálculo que no sea la activa, utilice en su lugar el nombre de la hoja de cálculo.
Por ejemplo, para aplicarlo en una hoja de cálculo llamada Hoja1 , insertar:
Set Rng = Hojas de cálculo("Hoja1").RangoUtilizado
4 Maneras de Usar la Propiedad UsedRange de VBA en Excel
Aquí están los 4 formas más comunes de utilizar el UsadosRange propiedad en VBA .
1. Propiedad UsedRange de VBA para un rango cerrado
En primer lugar, utilizaremos la función VBA RangoUsado para una hoja de cálculo con un rango cerrado.
Devolverá todo el rango incluyendo una fila vacía al principio.
Aquí tenemos una hoja de cálculo llamada Hoja1 que contiene un rango cerrado formado por los nombres, fechas de incorporación y salarios de algunos empleados de una empresa.
Ahora bien, si utiliza el Rangos usados de esta hoja de cálculo, devolverá el rango B2:C13 (Incluyendo una fila vacía al principio).
Si Hoja1 está activo, puede utilizar:
Dim Rng As Range
Set Rng = HojaActiva.RangoUtilizado
O puedes usar:
Dim Rng As Range
Set Rng = Hojas de cálculo("Hoja1").RangoUtilizado
⧭ Salida:
Hemos utilizado el Seleccione propiedad de un Gama dentro del código. Así, si ejecutamos el código, seleccionará el rango B2:D13 de Hoja1 .
Más información: Cómo Utilizar el Objeto Rango de VBA en Excel (5 Propiedades)
2. Propiedad UsedRange de VBA para un rango disperso
Si tiene un rango disperso en cualquier hoja de cálculo, la función Rangos usados devolverá un rango que incluye las celdas vacías intermedias.
Ahora, en Hoja1 tenemos el salario total, el salario más alto y el salario más bajo dispersos en varios lugares, desde la celda B3 a G3 así:
Ahora utiliza cualquiera de las dos líneas de código para utilizar el UsadosRange propiedad.
Dim Rng As Range
Set Rng = HojaActiva.RangoUtilizado
O
Dim Rng As Range
Set Rng = Hojas de cálculo("Hoja1").RangoUtilizado
⧭ Salida:
Devuelve todas las celdas dentro del rango B2:G3 de Hoja1 incluyendo las celdas en blanco (Incluyendo una fila vacía al principio). Como hemos utilizado la función Seleccione propiedad del Gama seleccionará el rango B2:G3.
Más información: Fin de un Rango Usando VBA en Excel (Con Ejemplos)
Lecturas similares
- Excel VBA Copiar Rango a Otra Hoja (8 Maneras Más Fáciles)
- Recorrer un Rango por Cada Celda con Excel VBA (Guía Definitiva)
- Excel subíndice fuera de rango de error en VBA (con 5 soluciones)
3. Propiedad UsedRange de VBA para una hoja de cálculo inactiva
Si queremos ejercer la Rangos usados en una hoja de cálculo inactiva, debe mencionar el nombre de la hoja de cálculo al principio.
Por ejemplo, aquí mi hoja de cálculo activa es Hoja1 .
Para utilizar el Rangos usados propiedad en Hoja2 tenemos que usar:
Dim Rng As Range
Set Rng = Hojas de cálculo("Hoja2").RangoUtilizado
Seleccionará todas las celdas utilizadas en la hoja de cálculo llamada Hoja2 .
Más información: VBA para Establecer Rango en Excel (7 Ejemplos)
4. Propiedad VBA UsedRange para un Libro de Trabajo Inactivo
Incluso puede utilizar la propiedad UsedRange para un libro de trabajo que no esté activo. Sólo tiene que poner el nombre del libro de trabajo delante.
Por ejemplo, aquí mi libro de trabajo activo es Cuaderno de ejercicios1 Ejercer la UsadosRange propiedad sobre Hoja1 de Cuaderno2 tenemos que usar:
Dim Rng As Range
Set Rng = Workbooks("Workbook2.xlsm").Worksheets("Sheet1").UsedRange
Seleccionará el rango utilizado de la hoja de cálculo Hoja1 de Cuaderno2 .
Más información: VBA para cada celda del rango en Excel (3 métodos)
Cosas para recordar
En Rangos usados propiedad de VBA devuelve un Gama En este artículo hemos utilizado el objeto Seleccione propiedad de un Objeto de rango pero, obviamente, se puede utilizar cualquier otra propiedad de un archivo Gama según le convenga.
Conclusión
Con estos métodos, puede utilizar el Rangos usados propiedad en Excel. ¿Tiene alguna duda? No dude en preguntarnos.