Quer saber como pegar a última linha ou coluna preenchida no VBA do jeito certo? Então vem comigo que você vai aprender!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala Impressionadores! Na aula de hoje eu quero te mostrar duas formas de como pegar última linha preenchida do VBA e como pegar última coluna preenchida do VBA.
Esse é um recurso muito útil principalmente quando você vai criar automações dentro do VBA, pois se for adicionar novas informações você vai querer adicionar logo após a última linha/coluna preenchida.
Dessa forma não vai sobrepor informações, então é importante que saiba qual é a última linha/coluna preenchida para que possa colocar suas informações na próxima linha/coluna.
E aí, quer aprender como descobrir a última linha/coluna preenchida para facilitar suas automações dentro do Excel? Então vem comigo que eu te mostro!
Inserindo um Módulo no VBA
Para criar um código dentro do VBA geralmente criamos um módulo. Para criá-lo precisamos primeiramente abrir o ambiente de VBA, a partir do atalho do teclado Alt(+Fn)+F11.
Vamos na guia Inserir > Módulo, e uma caixa branca se abrirá.
Por padrão ele terá o nome de “Módulo 1”. Colocaremos as duas “subs” abaixo dentro desse módulo.
A seguir apresentaremos os códigos e os comentários a respeito deles. Acompanhe com a gente.
Precisaremos também fazer uma adaptação, que é bem legal no VBA, que é renomear uma planilha. Podemos, por padrão, chamar a planilha pelo nome no VBA, como por exemplo Sheets(“Planilha1”)
Mas há uma outra forma de chamá-la, para referenciá-la dentro do código. Podemos simplesmente alterar sua propriedade Name. Veja:
No exemplo, alteramos o nome da planilha para “abaTabelaAjustada”. Agora, para chamar ou referenciar essa planilha no código, podemos simplesmente escrever “abaTabelaAjustada”, como veremos a seguir.
Sub ultimaLinhaPreenhida()
Dim ultLinha As Long, ultCol As Long
Dim intervalo As Range
ultLinha = abaTabelaAjustada.Cells(1048576, 1).End(xlUp).Row
ultCol = abaTabelaAjustada.Cells(1, 16384).End(xlToLeft).Column
With abaTabelaAjustada
Set intervalo = .Range(.Cells(1, 1), .Cells(ultLinha, ultCol))
End With
intervalo.Select
End Sub
Explicação do código acima (ultimaLinhaPreenchida):
Sub ultimaLinhaPreenhidaCerto()
Dim ultLinha As Long, ultCol As Long
Dim intervalo As Range
ultLinha = abaTabelaAjustada.Cells.Find("*", , xlFormulas, xlPart, xlByRows, xlPrevious).Row
ultCol = abaTabelaAjustada.Cells.Find("*", , xlFormulas, xlPart, xlByColumns, xlPrevious).Column
With abaTabelaAjustada
Set intervalo = .Range(.Cells(1, ultCol), .Cells(ultLinha, ultCol))
End With
intervalo.Select
End Sub
Explicação do código acima (ultimaLinhaPreenchidaCerto):
Nessa aula você lidou com:
Até a próxima, Impressionadores! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA!
Para acessar outras publicações de VBA, clique aqui!