Acho que agora você complicou, a rotina que o colega postou faz exatamente o que você pediu:
Procura a última linha vazia do intervalo A3:A1003.
Euando chegar na última linha vazia, se o Código anterior era 100, o próximo será 101 - sem esquecer que não pode ser
repetido dentro do Intervalo (validação).
Depois quero o cursor na coluna B para o usuário preencher o Equipamento.
O mesmo ja adiantou que era somente para valores numericos na Voluna A, e você não disse nada sobre executar a rotina em relação aos dados na Coluna B.
Tambem fiquei em duvida quando diz "Ordenação" e não poder ter codigos repetidos ? Onde não poderá ter repetição, na Coluna A ou na Coluna B ?
Ordenção seria classificar em ordem crescente ?
Os Códigos na Coluna "A" são sequenciais ?
Supondo que os códigos na coluna A não são sequenciais e pula-se aalguns, ou seja 1,2 5, 15, 6, 11, 10
Diriámos que o proximo código não pode ser 11 pois já existe, então qual logica quer seguir ?
Agora supomos que o proximo código deveria ser o 16 que é o numero maior na sequencia então poderiamos estar utilizando a função máximo, ficando assim a rotina adaptada:
Sub AutoNumeracaoMaximo()
Dim lLastRow As Long
Dim sMaximo
lLastRow = Cells(1003, 1).End(xlUp).Row 'Pega a última linha preenchida antes da linha 1003, coluna 1 (A)
sMaximo = WorksheetFunction.Max(Range("A:A")) '(Função Máximo)= O numero Maior na Coluna
' Range("A" & lLastRow + 1).Value = Range("A" & lLastRow).Value + 1 'Valor da próxima célula será o valor da célula anterior + 1
Range("A" & lLastRow + 1).Value = sMaximo + 1 'Valor da próxima célula será o valor da célula anterior + 1
Cells(lLastRow + 1, 2).Select 'Seleciona a última linha, coluna 2 (B)
End Sub
Acredito que ainda não é isto, então o ideal é detalhar melhor todas as possibilidades e se possivel anexar um modelo de como está e como quer que fique.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 29/03/2014 10:15 am