- ベストアンサー
エクセルVBAにおけるON TIMEメソッドの解除方法について
こんにちは。現在エクセルでフォームを使用したVBAマクロを作成中です。 内容はフォーム内のテキストボックスに制限時間を設けて文字入力を行ってもらうものです。 Sub テスト() do until ・ ・ call timeup loop End Sub Sub timeup() dim timekp as integer 'テストの開始時間をキープ 'Application.OnTime timekp + TimeValue("1:00:00"),"endform" '1時間経過後終了を促すフォームを表示する End Sub Sub endform() load userform1 userform1.show 'エクセル終了のコマンドボタンがついているフォームを表示する End Sub マクロは大まかに記述しましたが以上のようにすると、一度はマクロの作成が成功したように終了するのですが、ブックを開けたままでいると1時間後に自動的にuserform1が表示されてしまいます。また、ブックを閉じていても自動的にオープンし、(マクロを有効にする)をONにするとデバック状態となります。 変数のtimekpを初期化する事で凌げると思ったのですが、うまくいきません。 以前マクロのヘルプを操作している時にON TIMEメソッドを解除する方法が掲載されていたように思うのですが、探し方がマズイのか見つけられませんでした。 マクロの記述方法がマズイのでしょうか?ON TIMEメソッドを解除しない限り、いつまでもこのメソッドは効力を発揮するのでしょうか? また、ON TIMEメソッドを解除できるメソッドや良い解決方法がありましたら入門書等を片手にマクロを作成している素人にご教授の程お願い致します。
- みんなの回答 (3)
- 専門家の回答
お礼
On Timeのヘルプの使用例に説明が記載されていました。 ヘルプはチェックしていたのですが専門用語が多く、省略可と記載されている部分はツイ読み飛ばしてしまうのです。時にはヘルプのヘルプが欲しいくらいです。 今日早速実行したところ成功しました。本当に有難うございました。