2016-04-06 18 views
0

Excel 2007では、行の列からなるデータをインポートしました。ループを使用して、上から下にデータを読み込むVBAスクリプトを設定したいと思います。 6番目の列のセルが空でない間は、ループは繰り返し処理を継続する必要があります。 私が試してみました:Excel VBA:空のセルから終了ループを検出する

ドゥをのisEmptyながら(セル(I、6))は、i = I + 1

ループ

...偽

を= ...そしてまた

んが細胞(I、6).Valueの<> ""

...

私は= I + 1

ループ

ループは、それがすることになっているものを行いますが、プログラムは、データのブロックの下に読んで行くため、エラーが続いて起こります。 (ループに「On Error GoTo Catch」を挿入し、その後ループ「Catch:MsgBox Cells(i、6).Value &「エラー」が発生したことを確認してエラーが発生したことを確認します)

何もありません(i、6)に影響を与えるループ内にある。

空のセルについては、スタックオーバーフローには多くの質問がありますが、答えは空のセルを検出してループを終了させる問題を回避する傾向があります。 (下記の置き換え)これを行う方法はありますか?

答えて

0

あなたが右のシートにしている提供あなたが投稿したコードは動作するはずです

i=1  
    Do While sheets("sheet1").Cells(i, 6).Value <> "" 

     i = i + 1 

    Loop 

列の最後のスクリーンショットを投稿できますか?エラー処理によってもエラーメッセージが表示されない場合があります。一時的に無効にしてください。列はすべて特定の行で終了しますか? 「do not blank AND AND row < end row」と指定できます。

+0

エラーがないのに「Catch:」を開始する行が実行されるという問題があると思います。私はそれを見ると、これはむしろ明白です。 –

関連する問題