- 締切済み
WSH:任意のキーを押してDo While Loopから抜ける方法はありますか。
WSHのスクリプトでDo While Loopをまわしているときに任意のキーを押すとループから抜け出すようなプログラムは可能ですか。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nicotinism
- ベストアンサー率70% (1019/1452)
関連するQ&A
- Do Loopをキーボードで抜けるには
エクセルVBAでDo Loopを使って繰り返し表示するプログラムを組んでいます。 このループを終わらせるにはEscを押せば強制終了しましたがキーボードの任意のキーで抜けるもしくは終了させる方法を教えてください。 エクセルのバージョンは「2007」です。
- ベストアンサー
- Visual Basic
- 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 whileでExitせず、ループの最初に戻る方法
よろしくお願いします。 環境 Excel 2003 Do whileのループ内で、Exitのような記述方法で、ループの最初に戻る方法はありますでしょうか? イメージは以下のような形です。 Sub hoge() r = 0 rr = 5 Do While r < 6 'ここに戻る If r = 3 Then 'ここでDo while の最初に戻る End If Loop End Sub よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- 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ステートメントってありますか? あと使わない方が良いステートメント、私の勘違いでなければ教えてください。
- ベストアンサー
- オフィス系ソフト
- 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
- ベストアンサー
- Visual Basic
- Do While Loop中の数式でRange関数
質問です。 OS:Windows XP Excel:2007 3列×20行にわたって数値が入力してあります。 やりたいことは次のとおりです。 ・行数があるのでDo While Loopを使用して計算したい。 問題点は次のとおりです。 現状は、Range関数の引数で単一セルを指定する形式の計算式を書いているのですが、 whileでループさせて各行に対して同じ処理をさせるためには、Range関数に渡す引数で セル指定をどのように書けばよいでしょうか。 ちなみに現状の計算式は以下のように書いています。このコードをwhileで各行に対して ループさせたいと考えています。 num = (Range("E1").Value * Range("I1").Value) + (Range("H1").Value * (Range("I1").Value / (Range("I1").Value + Range("J1").Value + Range("K1").Value)))
- ベストアンサー
- その他(プログラミング・開発)
- perlのdo-while文で抜け出せない
perlのwhile,do-while,last文に関する質問です。 1) code1のようなプログラムを作ったのですが eでdo_whileを抜け出すことができませんがなぜでしょうか。 ---code1(eで抜け出せない)(NG)--- my $sum=0; do{ my $a=<STDIN>; chomp($a); $sum=$sum+$a; }while($a ne 'e'); print $sum; -------------------------------- 2) 抜け出す方法をいろいろ試していたら while(1)にしてlastで抜けるようにすると code2ではeで抜け出すことができるように なりましたが、 do~while(1)にしたcode3では、 「Can't "last" outside a loop block at …」C というエラーが発生します。 code2とcode3はwhileがdo~whileになって 条件を見る位置がループの始めか終わりの 違いだけなのに、なぜ、code2ではOKで、 code3ではエラーになるのでしょうか。 ---code2(eで抜け出せる)(OK)----- my $sum=0; while(1) { my $a=<STDIN>; chomp($a); last if ($a eq 'e'); $sum=$sum+$a; }; print $sum; --------------------------------- ---code3(エラーになる)(NG)----- my $sum=0; do{ my $a=<STDIN>; chomp($a); last if ($a eq 'e'); $sum=$sum+$a; }while(1); print $sum; --------------------------------- よろしくお願いします。 Windows7 , ActivePerl(v5.16.3)
- ベストアンサー
- Perl
- "DO LOOP"
テキストボックスに数値を入れると Do Loopでその数値の整数部分が何桁かを計算して、 ラベルに表示させるプログラムを作りたいです。 その時の、終了条件がわかりません。 (出来れば繰り返し実行されるステートメントお願いします。) 教えてください。お願いします。
- 締切済み
- Visual Basic
- DO~LOOP でのLOOPの抜け方
コマンドボタンを押して(スタートボタン)DO~LOOPで実行しているときにストップコマンドボタンを押してストップさせるときの LOOPの抜け方がわかりません。すみませんがよろしくお願いします。
- ベストアンサー
- Visual Basic
お礼
ありがとうございます。参考にさせていただきます。