Guma, o ideal é fazer como o Bernardo disse e anexar um exemplo compactado para ter uma analise melhor da situação, as instruções que o Alexandre e o Bernardo postaram a um primeiro olhar parece que resolveria, mas acredito que não irá, e o motivo é a incrementação das variaveis, explicando :
Aqui captamos a ultima celula
U = ActiveSheet.Cells(Cells.Rows.Count, 1).End(xlUp).Row ' ultima linha
Aqui adicionamos o For, que está armazendando as variaveis e fazendo a contagem
For r = 1 To U
então quando incrementamos a variável "r" com + 1, independente da qde de linhas o valor de "r" chegara ao valor final antes de terminar a contagem de "U"
Supondo que tenhamos 3 linhas, ficaria :
For 1 to 3 - ao incrementarmos a variavel "r" a mesma passaria para "2 TO 4" ou seja nesta linha alteramos o valor da variavel para 2 mas qdo chegar em Next r ele assumirá o valor de 3 e na sequencia ficaria 4 to 4 e sairia da rotina por ter alcançado o valor incrementado antes de chegar ao final de total de linhas.
Espero que tenha conseguido explicar, é mais fácil falar do que escrever, rsrsrsr, mas é só seguir passo a passo a rotina utilizando a tecla F8 e entenderá melhor, por isso que o ideal é um exemplo, pois na rotina se em E1 for Vazio vai adicionar uma formula que acredito ser um UDF e vai dar confusão na rotina.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 15/05/2013 8:02 pm