DoEvents関数で処理の途中で処理を止める方法について

最近の書き込み件数: 今日 0件、昨日 0件
未読分:2件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#2 2016年2月25日(木)15時02分
From: ジャッカル
返事 削除 変更
単純に変数がメモリ開放されているだけだと思う。

DimではなくPublicにしてみたらどう?

Message#1 2016年2月25日(木)13時12分
From: VBA初心者
返事 削除 変更
下記サンプルコードをテストしてみましたが、私の思うような結果が出ません。

"処理を開始"・ "処理を終了ボタン"をそれぞれ作成し実行しました。
処理を開始ボタンを押し実行すると、MsgBoxに "処理を停止しました"が出ます。
A1セルには何も出ず空白です。

私のイメージでは0から10000までカウンターが始まり、カウントの途中で"処理を終了ボタン"を押すことでMsgBoxに "処理を停止しました"が出るのかと思っております。

どこに問題があるのか教えて頂けないでしょうか。

DoEvents関数で処理の途中で処理を止める
DoEvents関数を利用して処理の途中で処理を止める。

処理の途中で処理を止めるサンプルコード

こちらのサンプルコードはループ処理中でも処理を止めるマクロになります。

Dim stopFlg As Boolean

Sub Sample()

For i = 0 To 10000

DoEvents

If stopFlg = True Then

MsgBox "処理を停止しました"

Exit For

End If

Next i

End Sub

'ボタンに「stopBtm」マクロを設定しておく
Sub stopBtm()

stopFlg = True

End Sub


実行結果

処理を途中で停止します。

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

スポンサー リンク

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

スポンサー リンク

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com