こんにちは。現在エクセルでフォームを使用した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メソッドを解除できるメソッドや良い解決方法がありましたら入門書等を片手にマクロを作成している素人にご教授の程お願い致します。
No.2ベストアンサー
- 回答日時:
>ON TIMEメソッドを解除
OnTimeのヘルプはごらんになられましたか?
expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
の
Schedule にfalseを設定することで、直前の実行指定を解除することができます。
具体的には
Application.OnTime timekp + TimeValue("1:00:00"),"endform",,false
とでもすればいいです。
On Timeのヘルプの使用例に説明が記載されていました。
ヘルプはチェックしていたのですが専門用語が多く、省略可と記載されている部分はツイ読み飛ばしてしまうのです。時にはヘルプのヘルプが欲しいくらいです。
今日早速実行したところ成功しました。本当に有難うございました。
No.3
- 回答日時:
こんにちは。
do until
・
・
call timeup
loop
このようにLoopしたら、何度も、行うのではないでしょうか?
expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
Schedule :=False にするのは、実行前の中途キャンセルのはずですから、今回の場合は、一体、いくつ設定されているのか見当がつきませんが、少なくとも、Loop で、設定しているところを見直さないとダメだと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
歩いた自慢大会
「めちゃくちゃ歩いたエピソード」を教えてください。 長時間でも長距離でも結構です。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
OnTime の中断方法について
Excel(エクセル)
-
ontimeのリセット方法
Excel(エクセル)
-
VBA Ontime を一旦停止をさせるには
Excel(エクセル)
-
-
4
OnTimeを使ったのですが「エラー」になってしまいます
Visual Basic(VBA)
-
5
vba セルに入力した時間をマクロで受け取るには?
Excel(エクセル)
-
6
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
7
OnTime 使用時のプロシージャへの引数の与え方、その記述方法を教えて下さい。
Visual Basic(VBA)
-
8
VBA=一定時間エクセルの入力操作がない場合、自動的にそのブックを閉じたい
Windows Vista・XP
-
9
エクセルで定期的(30分おき)にマクロを実行させる方法は?
Excel(エクセル)
-
10
タイマーマクロの二重起動防止をしたい
Visual Basic(VBA)
-
11
「一定の時間間隔で5秒毎にMacro1を実行する」
Excel(エクセル)
-
12
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
13
Excelマクロで、稼働中のマクロを確認する方法
その他(Microsoft Office)
-
14
エクセルでVBAを使用して1分毎にファイルを保存するプログラムを書きた
Excel(エクセル)
-
15
Excel(エクセル) VBA プロシージャーをミリ秒で繰り返し実行する方法
Excel(エクセル)
-
16
OnTimeの取り消しについて
PowerPoint(パワーポイント)
-
17
エクセル時間毎ごとにマクロを実行するやり方。
Excel(エクセル)
-
18
エクセル マクロ 指定日の指定時刻にプロシージャを実行
Visual Basic(VBA)
-
19
Excel VBAで「プログラム実行」ボタンと「プログラム停止」ボタンをつけたい
Excel(エクセル)
-
20
指定のWORKBOOKを前面表示する方法(エクセル:VBA)
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
コマンドプロンプト実行後に画...
-
final修飾子を使っているのに、...
-
エラーの意味を
-
VB.NETで色を比較するIF文を...
-
【sendkeysメソッドが動かずに...
-
配列のメソッド
-
eclipse-Tomcatでのデバッグに...
-
ODBCでMoveNextがうまく動作し...
-
C#の動的キャスト
-
VB.netで、シリアル通信のタイ...
-
DataGridViewでセルクリックイ...
-
通販システム(VB.net)
-
PDFファイルから別ウィンドウで...
-
単体テスト仕様書[正常系/異常...
-
javascriptからjavaを呼び出したい
-
ExcelのxlDialogInsertPictureで。
-
VBAでAccessからExcelのセルフ...
-
HyperLinkのNavigateUrl属性に...
-
エクセルVBAにおけるON TIMEメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
コマンドプロンプト実行後に画...
-
DataGridViewでセルクリックイ...
-
Labelコントロールに数字を代入...
-
エクセルVBAにおけるON TIMEメ...
-
javascriptからjavaを呼び出したい
-
mainメソッドのthrows節で設定...
-
Refreshメソッドの使い方
-
配列のメソッド
-
final修飾子を使っているのに、...
-
VBPをダブルクリックするとたま...
-
ウィンドウを最前面にできません
-
JSPで<SELECT>の中にDBから持っ...
-
【sendkeysメソッドが動かずに...
-
Excel VBA でExcelを終了したい...
-
VB.netで、シリアル通信のタイ...
-
Application.Wait の参照設定
-
Excel VBA シェイプの原型のサ...
-
onClickで関数呼出し後に、結果...
-
drawStringで文字間隔の調整
おすすめ情報