
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
【マクロ】数式を入力したい。...
-
Office2021のエクセルで米国株...
-
エクセルのVBAで集計をしたい
-
vba テキストボックスとリフト...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】【相談】Excelブック...
-
他のシートの検索
-
【画像あり】オートフィルター...
-
【マクロ】左のブックと右のブ...
-
空白のはずがSUBTOTAL関数でカ...
-
エクセルシートの見出しの文字...
-
【関数】3つのセルの中で最新...
-
Excelに貼ったXのURLのリンク...
-
【マクロ】excelファイルを開く...
-
LibreOffice Clalc(またはエク...
-
【マクロ】【画像あり】❶ブック...
-
エクセルの複雑なシフト表から...
-
Excelで4択問題を作成したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報