• ベストアンサー

プログラムでのLOOPについて・・・。

maruru01の回答

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 以下のような違いです。 (1)   Do While 条件式     繰り返すステートメント   Loop 条件式がTrueである限り、繰り返す。まず条件式の評価を行ったのち、繰り返し処理をするかどうか判断する。 (2)   Do     繰り返すステートメント   Loop While 条件式 条件式がTrueである限り、繰り返す。最初に必ず繰り返し処理を1回だけ行い、その後は条件式の評価を行ったのち、繰り返し処理をするかどうか判断する。 (3)   Do Until 条件式     繰り返すステートメント   Loop 条件式がFalseである限り、繰り返す。まず条件式の評価を行ったのち、繰り返し処理をするかどうか判断する。 (4)   Do     繰り返すステートメント   Loop Until 条件式 条件式がFalseである限り、繰り返す。最初に必ず繰り返し処理を1回だけ行い、その後は条件式の評価を行ったのち、繰り返し処理をするかどうか判断する。 まとめますと、Whileの方は条件式がTrueである限り繰り返し、UntilはFalseである限り繰り返します。 そして、WhileやUntilが前にある場合はまず条件式の評価を行い、後ろにある場合は、必ず1回は繰り返し処理を行います。 場合によって1回も繰り返し処理をしたくない場合は前に条件式を置き、1回は必ず繰り返し処理をさせたい場合は後ろに置きます。 わかりにくかったらすみません。 では。

tamatamaneginegi
質問者

お礼

回答ありがとうございました!だいぶわかりました! けど、いまいちどういうときに繰り返しを使うのかが いまいちわかりません・・・。とにかくがんばってみます!

関連するQ&A

  • Exit Doで二つのloopを抜けるには?

    Do Do For Each If 値 = "" Then Exit Do End If Next Loop Until 条件1 Loop Until 条件2 のようなネストをした場合、Exit Doでloopを抜ける時、条件1と条件2のどちらに移動するのですか? もし条件1に移動する場合、条件2を抜けたいのならどうすればいいのでしょうか? Exit Do Do みたいな事がしたいです。

  • Do..Loopステートメントの使い方について

    現在、入門書を画面で確認しながら ExcelVBAの勉強をしています。 Do...Loopで躓いてしまいました。 Do...Loopステートメントの種類は 条件を満たすまでループするもの Do Until...Loop(ループの前で条件判断) Do...Loop Until(ループの後で条件判断) 条件を満たす間はループするもの Do While...Loop(ループの前で条件判断) Do...Loop While(ループの後で条件判断) とあって、 例えば、A1からA7まで文字が入力されていて 空白のセルになるまで太文字にするとしたら、 ループの前に条件判断していると A1が空白だと処理はされず ループの後で条件判断すると A1が空白でも処理はされる とありました。 とすると、 条件判断はループ後にした方が良いと言う事なのでしょうか。 (空白でも処理してくれるので) 自分が処理したいものが ループ「後」にするのか又は ループ「前」にするのか どのように判断すれば良いのかと言うことと、 また、 条件を満たすUntil(まで)とWhile(間) どちらを使用すれば良いのかの判断方法もわかりません。 超初心者の質問内容で申し訳ありません。 VBAって面白いなぁと思い始めたところで なんとか理解したいので 教えていただけると大変助かります。 よろしくお願いします。

  • Do...Loopにつてご教授ください

    Visual Basicの課題で、 3+3²+3³+・・・3n乗で、500から50000の間に入る数字は 何個あるか?を求めるアプリを作らなければいけないのですが、 Do...Loop構造の繰り返し処理が理解できていないために解答 することができません。 解答と考え方をご教授いただけば大変助かります。 どうぞよろしくお願いいたします。

  • DO~LOOP でのLOOPの抜け方

    コマンドボタンを押して(スタートボタン)DO~LOOPで実行しているときにストップコマンドボタンを押してストップさせるときの LOOPの抜け方がわかりません。すみませんがよろしくお願いします。

  • VBA DO~LOOPのネスト方法について

    エクセルマクロの構文でDO~LOOPのネストを行った際に、EXIT DOで飛び出した後のLOOP条件が無効になるようです。どなたかご教授願います。 Sub TEST() y = 1 Do Do If y = 2 Then Exit Do End If y = y + 1 Loop Loop While y = 3 End Sub

  • "DO LOOP"

    テキストボックスに数値を入れると Do Loopでその数値の整数部分が何桁かを計算して、 ラベルに表示させるプログラムを作りたいです。 その時の、終了条件がわかりません。 (出来れば繰り返し実行されるステートメントお願いします。) 教えてください。お願いします。

  • 【VBA】DoUntil Loopを1度のみ実行

    いつもお世話になっております。 Excel2003を使用しております。 「この条件になるまで続行」というのは Do Until Loop だと思うのですが、 ループをしたくないけれど Do Until Loop を利用したい場合(条件になったら即終了したい) Do Until Flag=True 実行したいこと 実行したいこと2 実行したいこと3 Exit do Loop また、やりたいこととしては、 FlagがTrue になったら、プロシージャから抜けたいと思っています。 その場合は、 Do Until Flag=True  実行したいこと  実行したいこと2  実行したいこと3  Exit do Loop If Flag=True Then   Exit sub End if このように、別々?に書く以外に方法はないでしょうか? 出来れば、簡単なIF文で実行できないかと思ったのですが… 話がごちゃごちゃしていて分かりにくいので、質問事項のみまとめますと、 ● 条件になったら終了させる。 これは、Do~Loop 、For Next のみの動作でしょうか? ● ループから抜けると同時にSubを終了させるには、ループの外にIF文を書くしかない? 以上、よろしくお願い致します。

  • マクロのプログラミングで Do Loopステートメントです

    明後日学校の情報の授業でエクセルのマクロを使ってプログラミングするんですが語句について教えてください エクセルのマクロなんですが Do Loopスタートメントって言うのをやります そこでコマンドの意味を教えてほしいんです 明後日なんでなるべく早くお願いします 今回のコマンド(と、バリエーション)って書いてあります 1) dim i as→ 2) Do While 条件式 処理 Loop 3) Do Until 条件式 処理 Loop 4) i=i+1 5)Integer この5つです お願いしますm(_ _)m

  • Do ~ loop until [VBA]

    Do 命令文 Loop Until 条件式 について質問なのですが、条件式には複数の条件を指定することは出来るのでしょうか? 例えば、変数mが100より大きく、変数nと同じでない、という2つの条件を指定したいときは Loop Until m >= 100 and m <> n もしくは Loop Until m >= 100 and <> n でしょうか? また、上記の様な条件式でOKだとしたら、andで結べる条件に制限数はありますか? よろしくお願いします。

  • Do~Loopステートメント

    Do~Loopステートメントで使わな方が良いステートメントとは? Do~Loopステートメントで「古いから使わない方がよい」、と言われたことがあるのですが どれの事だか忘れてしまいました。 Sub test() セルのA1~A10に1~10を入力する i = 1 Do While i < 11 Worksheets("Sheet1").Cells(i, 1).Value = i i = i + 1 Loop End Sub これは一般的だから使ってもよいと思います。 Sub test() セルのA1~A10に1~10を入力する i = 1 Do Until i = 11 Worksheets("Sheet1").Cells(i, 1).Value = i i = i + 1 Loop End Sub これもよく見かけます。 Do While,Do Until以外にもloopステートメントってありますか? あと使わない方が良いステートメント、私の勘違いでなければ教えてください。