例えば
「Do While Range("A1").End(xlDown).Row >= i 」
こんなの"A1"と変数jとiが同期できていないことでプログラムじゃないよ