[[20030627151504]] 『マクロ実行中から一時中断』(こばちゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロ実行中から一時中断』(こばちゃん)

 シートにボタンを配置してそのボタンにマクロを組み込みました。
 そのマクロは結構時間がかかる処理を行うので、途中で中断または中止したい
 のですがどうしたらよいでしょうか?できれば、ctrl+Breakではなく、
 実行ボタンを押した直後に、中断ボタンに変化してそのボタンを押したら中断・・
 というのが良いと思っています。どなたかよろしくお願いします。

 基本は[Esc]キーでとまります。とまってよかったネの世界だと思いますが。
 Ctrl+Breakってのはよくわかりませんが。
 ↓を見てください。
  (kazu)
[[20030607142835]]『スライドバーの表示』(オート)  


 回答ありがとうございます。
 デバッグのために止めたいのではないです。他の一般ユーザーのために複雑な計算を
 行うマクロが組み込まれています。そのマクロはユーザーがある一定の初期値を入力
 してから実行するのですが、間違った値を入力して実行してしまった場合、
 ユーザーの手で止めたいわけです。時間がかかるから・・・
 そこで、単純に実行中のマクロをボタンひとつで中断または、中止したいわけです。
 よろしくお願いします。

 Excel97以上を使用しているなら、DoEventsというのがあります。

 しばらくROMします〜
 (ramrun)

 Dim flag As Variant

 Sub main()
    Dim n, buf As Integer
    flag = True
    Do
        n = n + 1
        range("a1").Value = " Now Loading... " & n
        If n Mod 50 = 0 Then
            buf = DoEvents
        End If
    Loop While flag
 End Sub

 Sub tarm()
    flag = False
 End Sub

 [ramrun]さんコードをありがとうございます。

 (1)[ramrun]さんのコードを使って、計算式の中にDoEventを組み込めるならば
   それが良いと思います。
 (2)私はユーザーであろうが[Esc]で止めても問題ないと思います。
   どっちみち、転んでしまったら、VBAコードは見えてしまいます。
 (3)基本はユーザーがキャンセルしなくてすむように、できるならば入力チェックを
   すべきです。
(kazu)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.