Como hacer que un ciclo do while no tome el ultimo valor cuando la condición es =" "

cordial saludo

tengo un ciclo do while que quiero que mientras halla un valor me corra pero si la celda esta vacía no haga mas, sin embargo cuando corro la macro me toma la celda vacía como ultima celda. El código que tengo es el siguiente:

' Leonardo Valencia
'
Range("A1").Select
i = 1
Do While Cells(i, 1) <> ""
i = i + 1
'Comparar códigos y traemos A
Cells(i, 2).Activate
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'INV PT NUEVOS_NOV'!C:C[5],2,0)"
'Comparamos códigos y traemos B
Cells(i, 3).Activate
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],'INV PT NUEVOS_NOV'!C[-1]:C[4],3,0)"
' comparamos códigos y traemos C
Cells(i, 4).Activate
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-3],'INV PT NUEVOS_NOV'!C[-2]:C[3],3,0)"
'comparamos y traemos D
Cells(i, 5).Activate
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],'INV PT NUEVOS_NOV'!C[-3]:C[2],5,0)"
'comparamos y traemos E
Cells(i, 6).Activate
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],'INV PT NUEVOS_NOV'!C[-4]:C[1],6,0)"
'insertamos F
Cells(i, 7).Activate
ActiveCell.FormulaR1C1 = "=TODAY()"
'insertamos la G
Cells(i, 8).Activate
ActiveCell.FormulaR1C1 = "=RC[-1]+10"
Loop

lo que quiero es que lea la celda vacía y se detenga no tome esa fila..

gracias

1 respuesta

Respuesta
1

No puedo probar la macro porque tiene referencias a otras hojas.

Pero yo pienso que a lo mejor estás incrementando la variable i antes de tiempo, normalmente suele ser la última instrucción del bucle. Es decir, prueba a ver si poniendo el

i=i+1

Justo antes del loop hace lo que tenía que hacer.

Si no, mándame el fichero para probar. Mi dirección es

[email protected]

Pon como asunto el título de la pregunta y como nombre del fichero

dowhile.xlsm

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas