Como usar a propiedade UsedRange de VBA en Excel (4 xeitos)

  • Comparte Isto
Hugh West

Neste artigo mostrarei como podes usar a propiedade UsedRange de VBA en Excel. Aprenderá a usar a propiedade UsedRange para un intervalo pechado, para un intervalo disperso, para unha folla de traballo inactiva e tamén para un libro de traballo inactivo.

Descargar o libro de prácticas

Descarga este libro de traballo para practicar mentres le este artigo.

Excel VBA UsedRange.xlsm

Unha introdución á propiedade UsedRange de VBA en Excel

A propiedade UsedRange de VBA devolve un obxecto Range . Devolve un intervalo formado por todas as celas dunha folla de traballo que se utilizou, incluída unha fila baleira ao principio.

Nun código VBA , a propiedade UsedRange debe usarse xunto co nome da folla de traballo. Polo tanto, a sintaxe común para usar a propiedade UsedRange para a folla de traballo activa é:

Dim Rng As Range

Set Rng = ActiveSheet.UsedRange

Notas:

  • Aquí Rng é o nome do Range devolto pola propiedade UsedRange . Podes usar o que queiras.
  • Para exercer a propiedade UsedRange nunha folla de traballo distinta da activa, utiliza o nome da folla de traballo.

Por exemplo, para aplicalo nunha folla de traballo chamada Sheet1 , insira:

Set Rng = Worksheets("Sheet1").UsedRange

4 Ways para usar a propiedade UsedRange de VBA en Excel

Aquí están os 4 máis comúnsformas de usar a propiedade UsedRange en VBA .

1. Propiedade VBA UsedRange para un intervalo pechado

Primeiro de todo, utilizaremos a propiedade VBA UsedRange para unha folla de traballo cun intervalo pechado.

É' Devolverá todo o intervalo, incluída unha fila baleira ao principio.

Aquí temos unha folla de traballo chamada Folla1 que contén un intervalo pechado composto polos nomes, datas de unión e soldos de algúns empregados dunha empresa.

Agora se usa a propiedade UsedRange nesta folla de traballo, devolverá o intervalo B2:C13 (Incluíndo unha fila baleira ao principio).

Se Folla1 está activa, pode usar:

Dim Rng As Range

Set Rng = ActiveSheet.UsedRange

Ou pode usar:

Dim Rng As Range

Set Rng = Worksheets("Sheet1").UsedRange

Saída :

Utilizamos a propiedade Select dun Range dentro do código. Polo tanto, se executamos o código, seleccionará o intervalo B2:D13 de Folla1 .

Ler máis: Como usar o obxecto de rango de VBA en Excel (5 propiedades)

2. Propiedade VBA UsedRange para un intervalo disperso

Se tes un intervalo disperso en calquera folla de traballo, a propiedade UsedRange devolverá un intervalo que inclúe as celas baleiras intermedias.

Agora, en Folla1 , temos o salario total, o salario máis alto e o salario máis baixo repartidos en varios lugares, desde a cela B3 ata G3 ,  deste xeito:

Agora usa calquera das dúas liñas de códigos para usar a propiedade UsedRange .

Dim Rng As Range

Set Rng = ActiveSheet.UsedRange

Ou

Dim Rng As Range

Set Rng = Worksheets("Sheet1").UsedRange

Saída:

Devolve todas as celas dentro do intervalo B2:G3 de Folla1 incluídas as celas en branco (incluíndo unha fila baleira ao principio). Como usamos a propiedade Select da Range , seleccionará o intervalo B2:G3.

Ler máis: Fin dun intervalo usando VBA en Excel (con exemplos)

Lecturas similares

  • Excel VBA Copiar intervalo noutra folla (8 xeitos máis sinxelos)
  • Recorre un intervalo para cada cela con Excel VBA (último Guía)
  • Erro fóra do intervalo de subíndice de Excel en VBA (con 5 solucións)

3. Propiedade VBA UsedRange para unha folla de traballo inactiva

Se queremos exercer a propiedade UsedRange nunha folla de traballo inactiva, debes mencionar o nome da folla de traballo ao principio.

Por exemplo, aquí a miña folla de traballo activa é Sheet1 .

Para usar a propiedade UsedRange en Sheet2 , temos que usar :

Dim Rng As Range

Set Rng = Worksheets("Sheet2").UsedRange

É Seleccionarei todas as celas usadas na folla de traballo chamada Folla2 .

Ler máis: VBA para establecer o intervalo en Excel (7 exemplos)

4.Propiedade UsedRange de VBA para un libro de traballo inactivo

Podes incluso usar a propiedade UsedRange para un libro de traballo que non estea activo. Só tes que poñer o nome do caderno de traballo diante.

Por exemplo, aquí o meu caderno de traballo activo é Caderno de traballo1 . Para exercer a propiedade UsedRange sobre Sheet1 de Workbook2 , temos que usar:

Dim Rng As Range

Set Rng = Workbooks("Workbook2.xlsm").Worksheets("Sheet1").UsedRange

Seleccionará o intervalo usado da folla de traballo Folla1 de Workbook2 .

Ler máis: VBA para cada cela do intervalo en Excel (3 métodos)

Cousas para recordar

A propiedade UsedRange de VBA devolve un obxecto Range . Neste artigo, usamos a propiedade Seleccionar dun obxecto de rango para visualizar. Pero obviamente, pode usar calquera outra propiedade dun Rango segundo a súa conveniencia.

Conclusión

Utilizando estes métodos, pode usar o UsedRange propiedade en Excel. Tes algunha dúbida? Non dubides en preguntarnos.

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.