
No.6ベストアンサー
- 回答日時:
#2と#4のtinu2000です。
stop_flag を共通変数にしないと、それぞれ別の変数とみなします。
ここから下をコピー&ペーストして見て下さい。
Public stop_flag As String
Private Sub CommandButton1_Click()
Dim i As Integer, n As Integer, b As Integer, a As Integer
stop_flag = False
Do
a = 1
For i = 0 To 7
Range("a1") = a
For n = 0 To 500
Next n
a = a + 1
Next i
a = 2
For b = 0 To 7
Range("b1") = a
For n = 0 To 500
Next n
a = a * 2
Next b
DoEvents
If stop_flag = True Then Exit Do
Loop
End Sub
Private Sub CommandButton2_Click()
stop_flag = True
End Sub
この回答への補足
回答有難うございました。とりあえずLoop地獄から出ることが出来ました。有難うございました。ただMovingWalk様のところにも書いたのですが、Loopが終わらないと出ない・・。STOPButtonを押したらその場でLoopから出るようにするにはどのようにすればいいのでしょうか?すみませんがよろしくお願いします。
補足日時:2003/10/08 20:55No.5
- 回答日時:
#1です。
#2の補足について。If stop_flag = False Then Exit Do ではなく
If stop_flag = true Then Exit Do でなければ...
念のため、DO の前の行に stop_flag = False をいれておいてください。
この回答への補足
回答有難うございます。とりあえずLoopから出ることが出来ました。有難うございました。ただ、STOPButtonを押せば直ぐに止まらずにLoopから出ないと止まらないんですね・・。(考えてみれば当たり前ですが・・)押したら直ぐにLoopから出られる(Loopする数字が押した瞬間に止まる)ようになるにはどのようにしたらいいのでしょうか?すみませんがよろしくお願いします。
補足日時:2003/10/08 20:47No.4
- 回答日時:
#2のtinu2000 です。
maruru01さん、そうでしたそうでした、DoEvents を忘れていました。
質問を見て、瞬間的なイメージは DoEvents はあったんですが、
書いている内に忘れてしまいました。(汗)
maruru01さん、ありがとうございました。
あれではストップボタンが割り込まないですね。
No.3
- 回答日時:
こんにちは。
maruru01です。基本的には、No.2の方のように、フラグを立てる方法です。
ただ、ストップボタンをクリックする割り込み処理を入れるために、DoEventsを入れます。
No.2の方のを拝借して、
Private Sub Command1_Click() 'スタートボタン
ExitSw = 0
Do
DoEvents
・・・
If ExitSw = 1 Then Exit Do
・・・
Loop
・・・
End Sub
Private Sub Command2_Click() 'ストップボタン
ExitSw = 1
End Sub
この回答への補足
回答有難うございます。ただ全然初心者なのでまだ出来ません・・。tinu2000様の補足に抜けられないプログラムを出したのですが、わかりません。すみませんよろしくお願いします。
補足日時:2003/10/07 22:41No.2
- 回答日時:
Private Sub Command1_Click() 'スタートボタン
ExitSw = 0
Do
・・・
If ExitSw = 1 Then Exit Do
・・・
Loop
・・・
End Sub
Private Sub Command2_Click() 'ストップボタン
ExitSw = 1
End Sub
他にも方法があると思うけど、こんなんでいいんでない?
この回答への補足
回答有難うございます。ただ・・どうしても抜けられません・・。全然初心者なのでまだわかりません。
Private Sub CommandButton1_Click()
Dim i As Integer, n As Integer, b As Integer, a As Integer
Do
a = 1
For i = 0 To 7
Range("a1") = a
For n = 0 To 500
DoEvents
Next n
a = a + 1
Next i
a = 2
For b = 0 To 7
Range("b1") = a
For n = 0 To 500
DoEvents
Next n
a = a * 2
Next b
If stop_flag = False Then Exit Do
Loop
End Sub
Private Sub CommandButton2_Click()
stop_flag = True
End Sub
7回まわってLOOPする形のものを中身を変えて出したのですが、どうしても止まりません・・。何がわるいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) vba GetAsyncKeyState関数について 1 2023/08/24 12:08
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) Excel VBAについて、 フォルダ内のファイルを全て開きたい場合、 FSOを使えば、Dirは使わ 1 2023/01/27 13:18
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- その他(プログラミング・Web制作) PythonでLoopを使って配列内の文字列を結合する。そして [] を削除する 1 2022/03/31 23:28
- Visual Basic(VBA) Excel VBA でデータ転記について 1 2023/03/07 19:11
- Ruby VBA 2 2023/01/14 14:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
セルをマクロのボタンにしたい。
-
Excel VBA Application.caller...
-
ユーザーフォームに別シートか...
-
VBA ユーザーフォームラベルキ...
-
[VB.net] ボタン(Flat)のEnable...
-
ユーザフォーム AfterUpdate処...
-
visualC++6.0でボタン上にマウ...
-
押しっぱなしの処理
-
ボタンの表示を改行表示したい
-
コマンドボタンやイメージにマ...
-
閉じると「+」になり開くと「-...
-
VB.NETでマウスクリックイベン...
-
Excel マクロ 閉じるボタン
-
MFCでのボタン配置
-
VBA CommandButtonの文字ずれ
-
Access VBA でデータペーストを...
-
VB.NETのWebアプリで、ボタンの...
-
VB6でマルチスレッド?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
セルをマクロのボタンにしたい。
-
コマンドボタンやイメージにマ...
-
VBA CommandButtonの文字ずれ
-
Excel VBA Application.caller...
-
フォームの再読み込み
-
VB.net でトグルボタンを実現し...
-
Excel マクロ 閉じるボタン
-
[VB.net] ボタン(Flat)のEnable...
-
VBAのボタンの位置が変わって困...
-
プロシージャからイベントをコ...
-
閉じると「+」になり開くと「-...
-
ボタンをマウスで押し続けたと...
-
C#プログラムで、ボタンをショ...
-
VBAで多数のプログラムを一つの...
-
Access VBA でデータペーストを...
-
アイコンとボタンの違い
-
ボタン
おすすめ情報