VBA Used Range – Contagem do Número de Linhas ou Colunas Usadas

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on June 20, 2023

UsedRange – Localizar a Última Célula, Coluna ou Linha Usada

O código a seguir retornará uma caixa de mensagem indicando o número total de linhas usadas em uma planilha. As linhas vazias são consideradas usadas se os dados seguirem a linha vazia.

MsgBox ActiveSheet.UsedRange.Rows.Count

Você precisa executar um loop em uma planilha, mas não sabe onde os dados param? ActiveSheet.UsedRange.Rows.Count pode ajudar.

Coloque isso em um módulo:

Sub UltmaLinha()

Dim UltimaLinha As Integer

UltimaLinha  = ActiveSheet.UsedRange.Rows.Count

MsgBox UltimaLinha

End Sub
Sub UltimaColuna()

Dim UltimaColuna As Integer

UltimaColuna= ActiveSheet.UsedRange.Columns.Count

MsgBox UltimaColuna

End Sub

Localizar a Primeira Célula Vazia

Ao usar o VBA, talvez você precise escrever na primeira célula vazia ou após a última linha usada em uma coluna. Não há necessidade de fazer um loop para encontrar isso, o código a seguir faz isso para você.

Neste exemplo, o código escreverá “PrimeiraVazia” na primeira célula vazia da coluna “d”

Public Sub DepoisUltima()

ActiveSheet.Range("d" & ActiveSheet.Rows.Count).End(xlUp).Offset(1, 0).Value = "PrimeiraVazia"
End Sub

Contagem de Colunas Usadas na Planilha

O código a seguir retornará em uma caixa de mensagem o número total de colunas usadas em uma planilha. As colunas vazias são consideradas usadas se os dados seguirem a coluna vazia.

MsgBox ActiveSheet.UsedRange.Columns.Count

Última Célula Usada – Problemas

Quando preciso fazer For…Next..Loop em uma coluna inteira, geralmente uso ActiveSheet.UsedRange.Rows.Count para descobrir onde parar. Sempre tive boa sorte com essa abordagem.

Também estou ciente de que, ocasionalmente, o Excel pensa que a última linha existe em algum lugar, mas na verdade a linha está vazia. Já vi isso algumas vezes depois de importar dados. De BeyondTechnology:

O objeto Worksheet UsedRange nem sempre funciona porque o intervalo usado (ou “área suja”) de uma planilha pode ser maior do que a área realmente preenchida com seus registros.

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA