![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
エクセルの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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
ボタン
-
excel シート上のボタンが動かない
-
VB.NETでマウスクリックイベン...
-
[VB.net] ボタン(Flat)のEnable...
-
C#で動的に作ったtextboxを消す。
-
フォームの再読み込み
-
DO~LOOP でのLOOP...
-
VBA マクロでの網掛けについて
-
アイコンとボタンの違い
-
button をクリックしてもへこま...
-
リストボックス 何も洗濯され...
-
閉じると「+」になり開くと「-...
-
CommandButtonのCaptionを変化...
-
コマンドボタンやイメージにマ...
-
ボタンをマウスで押し続けたと...
-
他フォームのクリックイベント取得
-
ボタンの文字色を変更したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
フォームの再読み込み
-
VBA CommandButtonの文字ずれ
-
ユーザーフォームに別シートか...
-
VBAのボタンの位置が変わって困...
-
Access VBA でデータペーストを...
-
Excel VBA Application.caller...
-
セルをマクロのボタンにしたい。
-
コマンドボタンやイメージにマ...
-
ボタン
-
プロシージャからイベントをコ...
-
ボタンをマウスで押し続けたと...
-
VBA でのボタンの移動について
-
C#で動的に作ったtextboxを消す。
-
バックスペース機能の作り方
-
アイコンとボタンの違い
-
VBAで多数のプログラムを一つの...
-
TextBoxでEnterキーを押すと、...
-
VBA IE ダウンロード ダイアロ...
おすすめ情報