1
resposta

Laço For Next - últim linha = ActiveCell.End(xlDown).Row

O moderador informa: "O laço For exige um intervalo fixo. Para laços sem intervalo use o While".
Utilizei  "ActiveCell.End(xlDown).Row" como última linha.
1 resposta

Olá Nelson tudo bem com você??

Na Aula 02, o primeiro vídeo é dedicado a essa questão de última linha no Excel. A transcrição: "Como nós sabemos que a última célula é uma célula fixa, então podemos colocá-la no Range(). Depois vamos clicar nela, utilizando o comando Select:

Sub Tabela_Deslocamento_linha()
    'ir para a ultima célula da planilha e clicar
    Range("a1048576").Select

End Sub

Depois, vamos utilizar o comando "Ctrl + seta para cima" para chegar na última célula preenchida. A partir da célula que está clicada, usaremos "Ctrl + seta para cima":

Sub Tabela_Deslocamento_linha()
    'ir para a ultima célula da planilha e clicar
    Range("a1048576").Select
    'Ctrl + seta para cima - para chegar na ultima célula preenchida
    Activecell.End(xlUp).Select

End Sub

xlUp - para subir xlDown - para descer xlToRight - para se deslocar à direita xlToLeft - para se descolar à esquerda"

Observações:

  • O código .End (xlDown) pode quebrar com mais facilidade (por exemplo, com uma única célula não vazia ou quando houver células em branco).
  • Uma solução que envolva .End (xlUp) para pesquisar no final de uma coluna para trás, assim como CTRL + UP, procurará dados (as fórmulas que produzem um valor em branco são consideradas "dados") nas linhas visíveis portanto, usá-la com o filtro automático ativado pode produzir resultados incorretos.

Espero te te ajudado e bons estudos!