Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11775 / 13645 ツリー ←次へ | 前へ→

【14225】時間の計測ってできますか? ピグモン 04/5/24(月) 9:31 質問[未読]
【14228】Re:時間の計測ってできますか? IROC 04/5/24(月) 10:28 回答[未読]
【14235】Re:時間の計測ってできますか? ピグモン 04/5/24(月) 11:09 質問[未読]
【14239】Re:時間の計測ってできますか? ちゃっぴ 04/5/24(月) 11:46 回答[未読]
【14242】Re:時間の計測ってできますか? ちゃっぴ 04/5/24(月) 12:17 回答[未読]
【14240】Re:時間の計測ってできますか? ぴかる 04/5/24(月) 11:56 回答[未読]
【14241】Re:時間の計測ってできますか? ichinose 04/5/24(月) 12:12 発言[未読]
【14243】Re:時間の計測ってできますか? Jaka 04/5/24(月) 13:01 発言[未読]
【14244】Re:時間の計測ってできますか? ぴかる 04/5/24(月) 13:10 発言[未読]
【14245】Re:時間の計測ってできますか? ichinose 04/5/24(月) 13:24 発言[未読]
【14247】失礼しました。 ぴかる 04/5/24(月) 13:38 発言[未読]
【14246】Re:時間の計測ってできますか? IROC 04/5/24(月) 13:28 回答[未読]
【14248】Re:時間の計測ってできますか? ピグモン 04/5/24(月) 14:12 お礼[未読]

【14225】時間の計測ってできますか?
質問  ピグモン  - 04/5/24(月) 9:31 -

引用なし
パスワード
   初心者なので簡単な質問だったら申し訳無いのですが、VBAを使って時間の計測はできるのでしょうか?
例えば、「開始」ボタンと「終了」ボタンを作って、「開始」ボタンを押すと、計測が始まって「終了」ボタンを押すと計測が終了して、そのはかった時間をセルに表示するようにしたいです。
わかる方、教えて頂けるとありがたいです。
よろしくお願い致します。

【14228】Re:時間の計測ってできますか?
回答  IROC  - 04/5/24(月) 10:28 -

引用なし
パスワード
   可能ですが、正確には無理です。


>「開始」ボタンを押すと、計測が始まって「終了」ボタンを押すと計測が終了
の間に、何らかの操作をすると「遅れ」が発生してしまいます。

【14235】Re:時間の計測ってできますか?
質問  ピグモン  - 04/5/24(月) 11:09 -

引用なし
パスワード
   早速のお返事ありがとうございます。
あるものを検査したときの工数を求めるつもりでした。
それで、もうひとつだけ質問させて頂きたいのですが、
予定では「開始」ボタンを押してから検査を始めて、
検査している測定器から検査データがエクセルに送られてくるのですが、
これではだいぶズレが出てしまうんですよね?
何度もすいません。よろしくお願い致します。

【14239】Re:時間の計測ってできますか?
回答  ちゃっぴ E-MAIL  - 04/5/24(月) 11:46 -

引用なし
パスワード
   WIN32API
GetTickCountを使用してみては?
正確かどうかはわかりませんが・・・
ミリ秒単位で取得できます。

【14240】Re:時間の計測ってできますか?
回答  ぴかる  - 04/5/24(月) 11:56 -

引用なし
パスワード
   ピグモンさん、みなさん、こんにちは。

使い物にならんかもしれませんが、秒単位やったら、こんなんで所得出来ます。

Dim スタート
Sub 開始()

  スタート = Now
  
End Sub
Sub 終了()

  タイム = (Now - スタート) * 60 * 60 * 24
  If スタート > 0 Then
    MsgBox Application.RoundUp(タイム, 0) & "秒です"
    スタート = 0
  End If
   
End Sub

【14241】Re:時間の計測ってできますか?
発言  ichinose  - 04/5/24(月) 12:12 -

引用なし
パスワード
   ▼ぴかる さん、みなさん、こんにちは。
なんかおかしかったんで、再投稿です。
一例です。

Sub test()
  st = [now()]
  For i = 1 To 2000
   DoEvents
   Next
  MsgBox WorksheetFunction.Text([now()] - st, "hh:mm:ss.00")
'         format関数だとミリ秒まで出ません
'         それとVBAのnow()でも出ません
'         「それはね・・・」と異論のある方どうぞ
End Sub

【14242】Re:時間の計測ってできますか?
回答  ちゃっぴ E-MAIL  - 04/5/24(月) 12:17 -

引用なし
パスワード
   サンプルです。

'Windows起動からの経過時間をミリ秒単位で取得するAPI宣言
'戻り値 成功:WindowsWindows起動からの経過時間(ミリ秒)
Declare Function GetTickCount Lib "kernel32" () As Long

Sub Test()
    Dim lngStartTime As Long
    Dim lngEndTime As Long

    lngStartTime = GetTickCount()
    '処理を記述

    lngEndTime = GetTickCount()

    MsgBox lngEndTime - lngStartTime
End Sub

単位はミリ秒(Long型)となりますので、必要に応じて変換してやってください。

【14243】Re:時間の計測ってできますか?
発言  Jaka  - 04/5/24(月) 13:01 -

引用なし
パスワード
   みなさま こんにちは。
おまけのマイクロソフト。

http://www.microsoft.com/japan/developer/library/modcore/deovrpassinguserdefinedtypes.htm

【14244】Re:時間の計測ってできますか?
発言  ぴかる  - 04/5/24(月) 13:10 -

引用なし
パスワード
   ichinoseさん、こんにちは。

予想通り、突っ込まれました。変やぞと思いつつ、飯前やったんでコメント出来ませんでした。自信のないやつは、トラブルの元なので控えるようにしていきます。

【14245】Re:時間の計測ってできますか?
発言  ichinose  - 04/5/24(月) 13:24 -

引用なし
パスワード
   ▼ぴかる さん:
こんにちは。出かける前にこのコメントを見たんで・・・。

>
>予想通り、突っ込まれました。変やぞと思いつつ、飯前やったんでコメント出来ませんでした。
私?、突っ込んだ?、そんなつもり、全然なかったんですが・・・。


>自信のないやつは、トラブルの元なので控えるようにしていきます。
自身なんて、ある方はごく一部の方です(と思います)。
私は、自信がないから、ここに問題を考えにやってきています。
ですから、そんな事言わないでね!!

【14246】Re:時間の計測ってできますか?
回答  IROC  - 04/5/24(月) 13:28 -

引用なし
パスワード
   >予定では「開始」ボタンを押してから検査を始めて、
>検査している測定器から検査データがエクセルに送られてくるのですが、
>これではだいぶズレが出てしまうんですよね?

どのようなものか分からないので、
試してみないと何とも言えないですね。
「検査したときの工数」が、どのくらいの精度で必要なのかによって、
実用できるかになりますし。

ひとまず、ちゃっぴ さんの方法で試してみては如何でしょうか?

検査データの取込が負荷の掛かるものだと、
「遅れ」は発生すると思います。

【14247】失礼しました。
発言  ぴかる  - 04/5/24(月) 13:38 -

引用なし
パスワード
   ▼ichinose さん:
なんか変なコメントしてたみたいですね。スンマセンでした。
これからも、精進しながらヘボ質問&回答していこうと思います。

【14248】Re:時間の計測ってできますか?
お礼  ピグモン  - 04/5/24(月) 14:12 -

引用なし
パスワード
   IROCさん、みなさん、本当にありがとうございます。
とりあえずちゃっぴさんから頂いたサンプルでやってみたいと思います。
またなにかあったらよろしくお願い致します。

11775 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free