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.
Nota: A propriedade UsedRange é uma propriedade somente leitura .
Escreva código com UsedRange
Use o código a seguir.
- Primeiro, você precisa especificar a planilha.
- Em seguida, insira um ponto final (.) e digite “UsedRange”.
- Depois disso, use a propriedade ou método que deseja usar.
- 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.
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.
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.
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.