下記のような例文がありますが、 Do While (1)の括弧1の意味がわかりません。
Stri = ""
iCount = 3 '入力データ開始行
Do While (1)
If Trim(Sheets("テスト").Range("A" & iCount)) = "" Then
Exit Do
End If
Stri = Stri & Sheets("テスト").Range("G" & iCount) & ","
iCount = iCount + 1
Loop
以下のような使い方ならわかるのですが・・・・。
Do While Counter < 20
Counter = Counter + 1
MsgBox Counter
Loop
No.1ベストアンサー
- 回答日時:
つまり「ずっとループ」ってことです。
ループの入り口や出口で継続判断をせず、ループ内で判断をする場合の方法です。
単純に
Do
' ループ内の処理
Loop
とも書けますが、ループ処理のコードが長い場合、一度に Do と Loop を見渡すことが出来ませんので、Do の行を見ただけで「終了判断は中でやってるんだろうな」と理解できるように Do の行で意味のない (1) を書いています。
No.4
- 回答日時:
s_husky です。
回答にミスが!For-Next文です。
No.3
- 回答日時:
Do While (条件) - Loop文 は、()内の条件をテストした結果が真であれば処理を繰り返します。
通常は、条件=条件式です。
よって、処理後に行われるテストで、いずれ真から偽へと変化しループを終了します。
(1)と書けば、1=真という約束事ですから、永遠に偽にはなりません。
無限ループする理由です。
さて、Do While (条件) - Loop文は、For Next-End文に置き換えることが可能です。
For I = 3 To 9999
If Trim(Sheets("テスト").Range("A" & iCount)) = "" Then
Exit Do
End If
・・・・・
Next I
この場合、For のループ回数は便宜上 9999 としていますが、実際は未定です。
よって、カウントすべき行が無くなった時点で For ループを抜けています。
このように、どうせループを抜け出す判定を組み込むならば For文は無限ループしても良い訳です。
ところが、For文には無限ループを指定することができません。
ならば、Do While (条件) - Loop文を使おうということでしょう。
> For文には無限ループを指定することができません。
> ならば、Do While (条件) - Loop文を使おうということでしょう。
ははぁ~ん!よ~くわかりました。
有難うございます。
No.2
- 回答日時:
>括弧1の意味がわかりません。
「常に真(TRUE)」です。
このプログラムでは Exit Do でループから抜けることを前提にしていて Exit Do が実行されない場合には無限にループが続きます。
ちなみに、もし無限ループ状態になってプログラムが止まらなくなっても Ctrl + Break のキー操作で強制終了できます。
なあるほど、常に真(TRUE)ですか。
ためにしにDo While (0)でやってみました。案の定回りません。
こういう書き方もあるんですね、勉強になりました。
有難うございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBA No.を自動連番で設定をしながらデータ入力をしたい 2 2022/08/03 18:19
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- Visual Basic(VBA) Excel VBA マクロ ブロック崩しのコードについて。 1 2022/06/22 12:33
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
このQ&Aを見た人はこんなQ&Aも見ています
-
つい集めてしまうものはなんですか?
人間誰もは1つ「やたらこればかり集めてしまう」というものがあるもの。 あなたにとって、つい集めてしまうものはなんですか?
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
自分のセンスや笑いの好みに影響を受けた作品を教えて
子どもの頃に読んだ漫画などが その後の笑いの好みや自分自身のユーモアのセンスに影響することがあると思いますが、 「この作品に影響受けてるな~!」というものがあれば教えてください。
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAで年度をまたぐ期間の...
-
ループを途中で抜けたいのですが。
-
do-while文が禁止される理由
-
明日試験があります。アルゴリ...
-
__asm int 3でのブレイクポイン...
-
UWSCにてある一定の動作を無限...
-
入力した文字列から母音だけを...
-
ライントレース 変数の使い方...
-
break文でループを一気に抜ける...
-
For文の終了値を関数にしても問...
-
エクセルVBAで Do While (1)って?
-
C言語forループが完結した場合...
-
プログラムで関数は使わない方...
-
信頼区間の1.96や1.65ってどこ...
-
プログラミング初心者です。 Py...
-
2÷3などの余りについて
-
Enterキーを押されたら次の処理...
-
「Aに対するBの割合」と「Aに対...
-
プログラムでの数字につく”f”の...
-
変数とパラメータとは違うもの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループを途中で抜けたいのですが。
-
入力した文字列から母音だけを...
-
do-while文が禁止される理由
-
break文でループを一気に抜ける...
-
Excel VBAで年度をまたぐ期間の...
-
エクセルVBAで Do While (1)って?
-
入力した数値を倍々するプログラム
-
UWSCにてある一定の動作を無限...
-
For文の終了値を関数にしても問...
-
C言語forループが完結した場合...
-
n重のfor文にするには?
-
for文while文の無限ループの違...
-
Delphiで・・・
-
Cプログラムが終了しない
-
strstr()関数の実装内容について。
-
PAD図の書き方
-
__asm int 3でのブレイクポイン...
-
PIC のプログラムについて ど...
-
線形探索(番兵法)のプログラ...
-
放電現象の2分法C言語プログラ...
おすすめ情報