![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
エクセルのVBAを使ってやっているのですが、セルの値を40秒毎に1づつ上げ、ボタンで一時停止、再開,リセットという感じをつくりたいのですがなかなかできず困ってます。
どなたか教えて下さい。宜しくお願い致します。
エクセル2019、Win10
ちなみに今こんな感じでいれていてセルの値は1づつ上がります。
Dim SchTime As Date
Sub Test()
With Sheets(1)
.Range("A1").Value = .Range("A1") + 1
End With
SchTime = Now + TimeSerial(0, 0, 40)
Application.OnTime SchTime, "test"
End Sub
No.2ベストアンサー
- 回答日時:
以下のようにしてください。
一時停止のボタンはsub 一時停止に割り当ててください。
再開のボタンはsub 再開に割り当ててください。
リセットのボタンはsub リセットに割り当ててください。
(リセットの意味はセルAの値のリセットと解釈しました)
--------------------------------------
Dim SchTime As Date
Dim execFlag As Boolean
Sub Test()
If execFlag = False Then Exit Sub
With Sheets(1)
.Range("A1").Value = .Range("A1") + 1
End With
SchTime = Now + TimeSerial(0, 0, 40)
Application.OnTime SchTime, "test"
End Sub
Sub 一時停止()
execFlag = False
End Sub
Sub 再開()
execFlag = True
Call Test
End Sub
Sub リセット()
With Sheets(1)
.Range("A1").Value = ""
End With
End Sub
No.1
- 回答日時:
こんにちは
>ボタンで一時停止、再開,リセットという感じをつくりたいのですが
>なかなかできず困ってます。
各ボタン押し下げ時の処理(=Sub)やご提示のカウントアップの処理を連携させる必要があります。
概ね以下のような感じで、実現できるのではないかと思います。
まず、シートモジュール共通の変数(=flag)を追加で定義しておきます。
そのうえで、各処理を以下のようなものにします。
1)ご提示のカウントアップ(=Test)を、flagを参照してFalseの場合はカウントアップ及び再コールをしないように修正します。(Trueの場合のみ実行)
2)再開(開始)ボタンの処理
flagをTrueにセットし、40秒後にTestをコール
3)一時停止ボタンの処理
flagをFalseにセット
4)リセットボタンの処理
カウンタ(=A1セル)の値を初期値(=0とか1など?)にセットします。
(必要ならば、flagもFalseにセットします。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA(エクセル)で自動的にボタン...
-
VBA シートのボタン名を変更し...
-
VBA CommandButtonの文字ずれ
-
ユーザーフォームに別シートか...
-
最小化のボタンだけ表示したい...
-
+ボタンの名称は?
-
アイコンとボタンの違い
-
Excel VBA Application.caller...
-
VBA でのボタンの移動について
-
エクセルVBAでユーザーフォーム...
-
VB6でマルチスレッド?
-
BorlandC++Builderでのタイマー...
-
フォームの再読み込み
-
Access VBA でデータペーストを...
-
コマンドボタンの長押し
-
MFC Timerについて
-
[VB.NET]3つ以上のフォームを一...
-
VBAのボタンの位置が変わって困...
-
[VB.net] ボタン(Flat)のEnable...
-
MS-OUTLOOK VBA 投票ボタン
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
フォームの再読み込み
-
アイコンとボタンの違い
-
VBAのボタンの位置が変わって困...
-
閉じると「+」になり開くと「-...
-
Excel VBA Application.caller...
-
Access VBA でデータペーストを...
-
セルをマクロのボタンにしたい。
-
コマンドボタンやイメージにマ...
-
VBAでオプションボタンによって...
-
ボタンをマウスで押し続けたと...
-
[Excel VBA]コマンドボタンの入...
-
VBA IE ダウンロード ダイアロ...
-
プロシージャからイベントをコ...
-
チェックボックスで指定出来る...
-
+ボタンの名称は?
-
VBA でのボタンの移動について
おすすめ情報