Táboa de contidos
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.