Pessoalmente não gosto de utilizar este tipo de código (já tive problemas) para ultima linha vazia.
Mas visualmente é mais fácil que o uso do while.

 

Exemplo de ultima linha vazia:

Range("a20").Select '....Seleciona primeira linha preenchida
Selection.End(xlDown).Select '....vai até última linha preenchida
x = Selection.Row '....grava na variavel a última linha

x = x + 1 ' ...pega a célula em  "branco".

 

O problema está se você tiver uma linha vazia no meio da sua coluna. Se for utilizar este código recomendo classificar antes.