Como usar a propriedade usedrange no vba?

No VBA, a propriedade UsedRange representa o intervalo de uma planilha contendo dados. O intervalo usado começa na primeira célula da planilha onde você tem um valor até a última célula onde você tem um valor. Assim como no exemplo a seguir, onde você usou o intervalo de A1 a C11.

propriedade de intervalo usada

Nota: A propriedade UsedRange é uma propriedade somente leitura .

Escreva código com UsedRange

Use o código a seguir.

  1. Primeiro, você precisa especificar a planilha.
  2. Em seguida, insira um ponto final (.) e digite “UsedRange”.
  3. Depois disso, use a propriedade ou método que deseja usar.
  4. No final, execute o código.
 Sub vba_used_range() ActiveSheet.UsedRange.Clear End Sub

O código acima limpa tudo do intervalo usado da planilha ativa.

Copie o intervalo usado

Use o código a seguir para copiar todo o UsedRange.

copie todo o intervalo usado
 Sub vba_used_range() ActiveSheet.UsedRange.Copy End Sub

Contar linhas e colunas no intervalo usado

Existe uma propriedade count que você pode usar para contar as linhas e colunas do intervalo usado.

 MsgBox ActiveSheet.UsedRange.Rows.Count MsgBox ActiveSheet.UsedRange.Columns.Count

As duas linhas de código acima exibem uma caixa de mensagem com o número de linhas e colunas que você possui no intervalo usado.

Ative a última célula do intervalo usado

Você também pode habilitar a última célula do intervalo utilizado (esta seria a última célula utilizada na planilha). Considere o seguinte código.

última célula ativa do intervalo usado
 Sub vba_used_range() Dim iCol As Long Dim iRow As Long iRow = ActiveSheet.UsedRange.Rows.Count iCol = ActiveSheet.UsedRange.Columns.Count ActiveSheet.UsedRange.Select Selection.Cells(iRow, iCol).Select End Sub

Este código pega o número de linhas e colunas usando a propriedade UsedRange e depois usa esses números para selecionar a última célula no intervalo usado.

Consulte UsedRange em outra planilha

Se você tentar consultar o intervalo usado em uma planilha diferente da planilha ativa, o VBA mostrará um erro como este.

intervalo usado em outra planilha

Portanto a planilha a que você se refere deve estar ativada (só então você poderá utilizar a propriedade UsedRange).

 Sub vba_used_range() Worksheets("Sheet4").Activate Worksheets("Sheet4").UsedRange.Select End Sub

Isso significa que você não pode fazer referência ao intervalo usado em uma pasta de trabalho fechada. Mas você pode abrir uma pasta de trabalho primeiro e depois habilitar a planilha para usar a propriedade UsedRange.

Obtenha o endereço do intervalo usado

Use a seguinte linha de código para obter o endereço do intervalo usado.

 Sub vba_used_range() MsgBox ActiveSheet.UsedRange.Address End Sub

Contar células vazias no intervalo usado

O código a seguir usa loops FOR (For Each) e percorre todas as células do intervalo usado e conta as células vazias.

 Sub vba_used_range() Dim iCell As Range Dim iRange As Range Dim c As Long Dim i As Long Set iRange = ActiveSheet.UsedRange For Each iCell In ActiveSheet.UsedRange c = c + 1 If IsEmpty(iCell) = True Then i = i + 1 End If Next iCell MsgBox "There are total " & c & _ " cell(s) in the range, and out of those " & _ i & " cell(s) are empty." End Sub

Ao executar este código, ele exibe uma caixa de mensagem com o número total de células e o número de células vazias.

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *