Uma rotina que sempre precisamos recorrer nos nossos códigos e macros é aquela onde podemos recuperar a última linha e coluna que estão escritas na nossa folha de cálculo.Em diversas situações torna-se necessário utilizar esta informação, como por exemplo, quando precisamos percorrer todas as linhas da nossa folha de cálculo que possuam dados, seja uma lista de nomes, de produtos, de telefones ou qualquer outro tipo de lista.
Neste artigo vou explicar como obter esta informação em qualquer folha de cálculo, automaticamente.
O código aqui apresentado, serve para utilizar em qualquer folha de cálculo.
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.
Este código é um exemplo e deverá ser contextualizado a cada projecto.
Para aceder ao editor de Macros VBA, carregue nas seguintes teclas: (ALT+F11), de seguida insira um Módulo e digite/copie 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 ‘Referência a folha que pretendemos encontrar a ultima linha e coluna
Set rng = sh.Range(“A1”).SpecialCells(xlCellTypeLastCell)
iUltimaLinha = rng.Row ‘Encontra a última linha
iUltimaColuna = rng.Column ‘Encontra a última coluna
MsgBox “A última linha com dados é: ” & iUltimaLinha & vbCrLf & “A última coluna com dados é: ” & iUltimaColuna, vbInformation
End Sub
Voltando a folha de cálculo, para ver a lista de Macros criadas, carregue nas teclas:(Alt+F8) e de seguida execute a macro criada (neste caso UltimaLinhaColuna)
Resultado final: