Dicas de Excel #2 – Macro: Identificando a última linha e coluna da planilha

Olá pessoas Excelentes…

Hoje é dia de dicas de Excel!!!

Uma rotina que sempre precisamos recorrer em nossos códigos e macros é aquela que recupera a última linha e coluna que estão escritas na planilha. Em diversas situações se faz necessário utilizar esta informação, como por exemplo, quando precisamos percorrer todas as linhas da planilha que possuam dados, seja uma lista de nomes, de produtos, de telefones ou qualquer outro tipo de lista. Se não soubermos qual será a última linha que tenha informações digitadas, nosso laço for ou while irá percorrer linhas vazias inutilmente. E isso não é bom para a performance da macro.

Por isso, neste artigo vou ensinar como obter esta informação em qualquer planilha, automaticamente. Ou seja, o código serve para qualquer planilha.

Já utilizei este código várias vezes, inclusive em exemplos já disponibilizados aqui no site. Um exemplo deste uso pode ser encontrado no artigo onde ensino a macro para enviar emails para sua lista ou neste outro no qual mostro como exibir uma barra de progresso para controlar o andamento do processamento da macro.

 

O código é bem simples. Veja:

Abra o editor de Macros VBA (ALT + F11),  insira um Módulo e digite o código abaixo.

Sub UltimaLinhaColuna()
Dim iUltimaLinha As Long
Dim iUltimaColuna As Long
Dim sh As Worksheet
Dim rng As Range

    Set sh = ActiveSheet    'Aqui você deve informar a planilha.
                            'Neste exemplo, usamos a planilha ativa no momento da chamada da macro

    Set rng = sh.Range("A1").SpecialCells(xlCellTypeLastCell)

    iUltimaLinha = rng.Row      'Recupera a última linha
    iUltimaColuna = rng.Column  'Recupera a última coluna

    MsgBox "A última linha é: " & iUltimaLinha & vbCrLf & "A última coluna é: " & iUltimaColuna, vbInformation
End Sub

 

Esta construção é apenas um exemplo para estudo. Estamos retornando o resultado numa mensagem na tela. Você deverá inserir este código contextualizando ao seu projeto, é claro.  Perceba que os valores da última linha e coluna é retornado nas variáveis iUltimaLinha e iUltimaColuna, respectivamente.

 

Então é isso pessoal.

Até a próxima!

 

3 Responses

Leave a Comment