ExcelマクロVBA関数 | DoEvents関数 | Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説



最終更新日:2013-06-14

DoEvents関数


DoEvents関数は、発生したイベントがOSによって処理されるように、プログラムで占有していた制御をOSに渡します。

DoEvents関数

DoEvents

DoEvents 関数は 0 を返します。


DoEvents 関数は、オペレーティング システムに制御を渡します。オペレーティング システムがキュー (処理の待ち行列) に入っているイベントの処理を終了し、SendKeys ステートメントのキューに入っているすべてのキー入力が送られるまで制御は戻りません。

DoEvents 関数は、ファイルの検索などで処理が開始された後で、ユーザーがキャンセルできるようにするときに役立ちます。
処理の実行が長い場合、処理プログラムで行う方が、タイマーを使ったり、ActiveX コンポーネントにタスクを渡すよりよい方法です。
後の場合、アプリケーションから独立させてタスクを続行できます。
そしてオペレーティング システムでは、マルチタスクと時間分割を利用します。

注意
イベント プロシージャから一時的な処理が発生するときは、最初に呼び出した処理から制御が戻ってくるまでは、プロシージャがプログラムの別の場所で実行されることがないように注意する必要があります。
別の場所で実行された場合、結果は予測できません。
また、制御をオペレーティング システムに渡している間、他のアプリケーションが、確認できない方法でプロシージャとやり取りを行う可能性があるときは、DoEvents 関数は使わないでください。

使用例.

Dim i As Long
For i = 1 To 10000
  Application.StatusBar = i
  DoEvents
Next
Application.StatusBar = False
ステータスバーへの表示をする場合は、
このようにDoEventsを入れる事で、表示がスムーズに行われます。

※VBA関数一覧




同じテーマ「マクロVBA関数」の記事

Hex関数
Oct関数
CreateObject関数
DoEvents関数
RGB関数
CBool関数
CByte関数
CCur関数
CDate関数
CDbl関数
CDec関数

新着記事 ・・・新着記事一覧を見る

数値範囲で表検索するVLOOKUP近似一致|エクセル関数超技(10月5日)
エクセルVBAでのシート指定方法|VBA技術解説(9月8日)
VBAのクラスとは(Class,Property,Get,Let,Set)|VBA技術解説(8月28日)
VBAこれだけは覚えておきたい必須基本例文10|VBA技術解説(8月22日)
VBAの省略可能な記述について|ExcelマクロVBA技術解説(8月11日)
複数条件判定を行う時のコツ|ExcelマクロVBA技術解説(7月11日)
For Next の使い方いろいろ|VBA技術解説(6月14日)
VBAを定型文で覚えよう|ExcelマクロVBA技術解説(3月26日)
VBAスタンダード試験対策まとめ|MOS VBAエキスパート対策(3月16日)
ユーザーフォームとメニューの操作|MOS VBAエキスパート対策(3月14日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.変数とデータ型(Dim)|ExcelマクロVBA入門
5.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
6.マクロって何?VBAって何?|ExcelマクロVBA入門
7.定数と型宣言文字(Const)|ExcelマクロVBA入門
8.繰り返し処理(For Next)|ExcelマクロVBA入門
9.とにかく書いて見よう(Sub,End Sub)|VBA入門
10.ひらがな⇔カタカナの変換|エクセル基本操作



  • >
  • >
  • >
  • DoEvents関数

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。





    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

    本文下部へ

    ↑ PAGE TOP