Metti anche un DoEvents all'interno del ciclo.
Nell'esempio di m@ximo, la variabile flag deve necessariamente essere pubblica (almeno a livello di modulo).