No.1ベストアンサー
- 回答日時:
要件に一番近そうなマクロを作ってみました。
ただし数点制約があります。・ExcelVBAではマルチスレッドが実現できないので1セル毎でしかカウントできません。
・クリックイベントは無いので、ボタン(CommandButton1)のクリックイベントで
カウントのON/OFFを行っています。
Option Explicit
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public blCountFlg As Boolean
Private Sub CommandButton1_Click()
blCountFlg = Not blCountFlg
Call prc_Count(ActiveCell, Cells(1, 1))
End Sub
Private Sub prc_Count(ByVal Target As Range, MaxCount As Long)
Dim lnStart As Long
Dim lnCount As Long
lnStart = GetTickCount
Do While (blCountFlg And lnCount < MaxCount)
Sleep (100)
lnCount = (GetTickCount - lnStart) / 1000
Target.Value = lnCount
DoEvents
Loop
End Sub
No.3
- 回答日時:
あんまり、パッとしない案です。
シート1のイベントに
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'A1 微調整用
'B1 設定秒数
'C1 開始
'C2 停止
'D1 経過秒表示
'E1 開始時間
'F1 終了時間
Dim i As Long
Dim tt As Single
Dim tA As Single
If Target.Address <> "$C$1" Then Exit Sub
Range("c1").Value = "Start"
Range("c2").Value = "Stop"
Range("d1") = 0
Range("F1") = ""
Range("G1") = ""
tA = Range("A1").Value
Range("E1") = Timer
Do Until i > Range("B1").Value - 1
If ActiveCell.Address = "$C$2" Then
Exit Do
Exit Sub
End If
tt = Timer
Do While Timer < tt + tA
DoEvents ' 他のプロセスに制御を渡します。
Loop
i = i + 1
Range("D1") = i
Loop
Range("F1") = Timer
Range("G1") = "誤差 " & Range("F1") - Range("E1") - Range("B1").Value
End Sub
んで
セル A1 に 1
セル B1 に 10
を入れてセルC1を選択してみてください。停止ははC2を選択。
No.2
- 回答日時:
マクロは、次の通りです。
(数値の最高値には未対応)Sub Test()
If Cells(1, 1) <> 0 Then
Cells(1, 1) = 0
Application.OnTime Now + TimeValue("00:00:01"), "test2", SCHEDULE:=False
End If
Test2
End Sub
Sub Test2()
Cells(1, 1) = Cells(1, 1) + 1
Application.OnTime Now + TimeValue("00:00:01"), "test2"
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) エクセル VBAでセル内容を別の列の最下行に転記したい 2 2022/11/29 08:47
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
「一定の時間間隔で5秒毎にMacro1を実行する」
Excel(エクセル)
-
エクセル、一定時間で数を増やす方法
Excel(エクセル)
-
Excel(エクセル) VBA プロシージャーをミリ秒で繰り返し実行する方法
Excel(エクセル)
-
-
4
EXCELのセルへ、デジタル時計を表示できますか?
Excel(エクセル)
-
5
エクセルnow関数自動更新
Excel(エクセル)
-
6
40秒毎にセルの値を1ずつ上げたい
Visual Basic(VBA)
-
7
エクセルのマクロをセルの値に応じて自動起動したい
Visual Basic(VBA)
-
8
エクセルVBAにおけるON TIMEメソッドの解除方法について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel分数の表示について
-
Excelについての質問です。 B2...
-
EXCELの散布図で日付が1900年に...
-
文字2桁、3桁交じりの文字列...
-
【EXCEL】画像の黄色部分の抽出...
-
マクロエクセルのブロック解除
-
絶対参照
-
Excelで表を作ったところに文字...
-
Excelピボットテーブルの1行目
-
エクセルのクイックアクセスツ...
-
DATE関数で現在の年齢を出した...
-
(マクロ)vlookupの元データを同...
-
PDFの請求明細をエクセルにしたい
-
エクセルのクイックアクセスツ...
-
REGEXREPLACE関数について、
-
職場の人から聞かれており、こ...
-
エクセルの空欄をつめて、次の...
-
ユーザー定義関数をアドイン登...
-
EXCELの質問です 119から足した...
-
エクセルの問題です。絶対値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報