Entre as versões 2003 e 2007, o número de linhas que pode atingirexcel evoluiu consideravelmente.
Os códigos VBA:
- versões < 2007 :
Dim DernLigne As Long Ultimalinha = Range("A65536").End(xlUp).Row
- a partir de 2007 :
Dim DernLigne As Long Ultimalinha = Range("A1048576").End(xlUp).Row
Impossível portabilizar seu classificador de uma versão para outra.
Em todos os casos, convém, a partir de agora, escrever :
[todas as versões]
Dim Ultimalinha As Long Ultimalinha = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
ou :
Dim Ultimalinha As Long Ultimalinha = Range("A" & Rows.Count).End(xlUp).Row
Você se confrontará com o mesmo problema no que concerne as colunas... Neste caso, você poderá utilizar este código (dado aqui à título de exemplo, existem outros) :
Dim Ultimalinha As Integer Ultimacoluna = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
Os códigos informados, concernem a ultima linha não vazia da coluna A (Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row , Range("A" & Rows.Count).End(xlUp).Row) e a ultima coluna cuja primeira linha é não vazia (Cells(1, Cells.Columns.Count).End(xlToLeft).Column). Você pode, é claro, adaptá-los modificando o elemento identificado em negrito.
Tradução feita por Ana Spadarivia kioskea.
0 comentários:
Os comentários serão moderados antes de publicar! respondo todos, obrigado por comentar.