エクセルの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 VBA Application.caller...
-
VBA CommandButtonの文字ずれ
-
コマンドボタンやイメージにマ...
-
CommandButtonのCaptionを変化...
-
VBA マクロでの網掛けについて
-
TextBoxでEnterキーを押すと、...
-
VB2010 クリック数カウント
-
C#で動的に作ったtextboxを消す。
-
Access VBA でデータペーストを...
-
C♯初心者で、四則演算の電卓を...
-
VB.net webアプリケーションで...
-
バックスペース機能の作り方
-
VBA でのボタンの移動について
-
ボタンをマウスで押し続けたと...
-
ユーザーフォームに別シートか...
-
プロシージャからイベントをコ...
-
ボタン上にビットマップ、アイ...
-
VBAのボタンの位置が変わって困...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
フォームの再読み込み
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
セルをマクロのボタンにしたい。
-
Excel VBA Application.caller...
-
コマンドボタンやイメージにマ...
-
Access VBA でデータペーストを...
-
VBAのボタンの位置が変わって困...
-
ボタンをマウスで押し続けたと...
-
ボタン
-
C#プログラムで、ボタンをショ...
-
VBA でのボタンの移動について
-
閉じると「+」になり開くと「-...
-
ダウンロードダイアログをVB...
-
[Excel VBA]コマンドボタンの入...
-
ASP.Net ラベルの内容をすぐに...
-
プロシージャからイベントをコ...
-
CommandButtonのCaptionを変化...
おすすめ情報