ここから本文です

For i = X To Y でできてDo while A 比較演算子 B でできないこととかめんどうなこ...

k47********さん

2012/3/320:56:54

For i = X To Y でできてDo while A 比較演算子 B でできないこととかめんどうなことってありますか?

Excel2007VBAです。

閲覧数:
156
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

kei_jun_kuuさん

編集あり2012/3/322:40:58

k472954さん

【追記】
hareyaka_skyさん

Do While Cells(i, 2).Row <> 1

Do Until i=0
または、
Loop Until i=0
とやってやれば…

【最初の回答】
For~NextもDo~Loopも同じ繰り返し命令ですが、、
For~Nextはカウンターが単純で扱いやすいですネ。。
でも逆に、たとえば「空白セルになったら止める」なんかは、
Do~Loopの方がやりやすいし、とにかく1回だけは処理するなんてこともできる。
処理の回数が不定で、、
細かな処理をしなきゃいけないときは、絶対にDo~Loopかなぁ。。
わたしはFor~NextでやりにくいときにDo~Loopを使います。

質問した人からのコメント

2012/3/10 14:48:26

みなさんありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

har********さん

2012/3/322:21:40

行番号の小さい方から大きい方向への移動は共に問題なさそう、ですが。

逆の場合Step -1のような場合は
Do While で1行目を拾う方法は?っと一瞬思いますが・・・何か解決方法はあると思いますが・・・

こんなケースです
2行目まではOKですが、1行目まで移動させると「<>0」とエラーが出ますね。
このあたりが、どうでしょう。
いづれにしてもマイナス移動に問題が有るような感じがします。



Sub 特定数字DoWhileマイナスステップ()
Dim i As Integer
i = Cells(Rows.Count, 2).End(xlUp).Row
Do While Cells(i, 2).Row <> 1
Cells(i, 2).Activate
If Cells(i, 2).Value = 5 Then
MsgBox i
' Exit Sub
End If
i = i - 1
Loop
End Sub

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる