Cómo utilizar la propiedad UsedRange de VBA en Excel (4 maneras)

  • Compartir Este
Hugh West

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.xlsm

Una 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.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.