Ho guardato il tuo codice ed è veramente orrendo per due motivi

Setti condizione = true

entri in UP e ti chiedi se condizione = true ???

un po' illogico nn pensi??

poi scusa nn ti conviene fare cosi:

do while condizione= true
'codice
exit sub
loop

'codice nel caso in cui condizzione =false