Excel VBA質問箱 IV

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

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


25380 / 76735 ←次へ | 前へ→

【56696】Re:時間表示についてお願いします。
発言  kanabun  - 08/6/30(月) 23:08 -

引用なし
パスワード
   ▼マクロ さん:
>累積時間(TextBox78+TextBox77)がうまく足されません。
>TextBox76.Text = Format$(TextBox78 + TextBox77 + TextBox82, "hh:nn")
>のようにしてみましたが、うまく足されません。

いくつか原因が考えられます。
といっても、これまでにレスしたことばかりで、繰り返しになりますが、

(1)TextBoxのText は、あくまでも文字列なので
  時刻ではありません。時間にするには、
> t1 = TimeValue(TextBox49.Text)
のように、文字列を数値に変換する必要があります。

(2)ボタンがクリックされたら、
>  TextBox49 = Format$(Now(), "hh:nn")
  のように、Now()関数で取り出した現在日時を
 「時刻だけ」TextBox に代入されていますが、
 これでは 1日を跨ぐラップタイムを計算できないわけだし、
 日時という数値を「hh:nn」型の「文字列」に変換して、
 またそれを「時刻」という数値に再変換して時間差を計算して
 いるので、回りくどいことをしています。

いまおやりになっていることを概念的にイメージで表すと
こんな感じです。↓

▼現行(うまくない)
 Button Click⇒ 文字列("hh:nn") →変数(時刻のみ)
---------------------------------------------------------
 【Button46】Now→ [TextBox49] → t1
 【Button47】Now→ [TextBox50] → t2
          [TextBox78] ← (t2 - t1)
  [TextBox76] ← TextBox78 + TextBox77 + TextBox82 ???

 【Button48】Now→ [TextBox53] → t3
 【Button49】Now→ [TextBox54] → t4
          [TextBox77] ← (t4- t3)
  [TextBox76] ← TextBox78 + TextBox77 + TextBox82 ???
---------------------------------------------------------

これを 先のレス 【56642】のように変更してください。
上と同じイメージで表すと、こんな感じです。
▼改善案
---------------------------------------------------------
 【Button46】Now → t1 → [TextBox49]
 【Button47】Now → t2 → [TextBox50]
         (t2 - t1) →[TextBox78]
  [TextBox76] ← (t2 - t1) + (t4 - t3) + (t6 - t5)

 【Button48】Now → t3 → [TextBox53]
 【Button49】Now → t4 → [TextBox54] 
          (t4- t3) → [TextBox77]
  [TextBox76] ← (t2 - t1) + (t4 - t3) + (t6 - t5)
---------------------------------------------------------
具体的なコードは【56642】に書いたとおりなので
(ボタン名やTextBox名を変えるだけです)

まず、プログラムの先頭で共有変数を用意しておいて、
Option Explicit
 Private t1 As Date
 Private t2 As Date
 Private t3 As Date
 Private t4 As Date
 Private t5 As Date
 Private t6 As Date

Private Sub UserForm_Initialize()
 '変数 t1〜t6 を初期化しておきます
 t1 = Now()
 t2 = t1
 t3 = t1
 t4 = t1
 t5 = t1
 t6 = t1
End Sub

CommandButton46 がClick されたとき、変数 t1に Now()時刻を、
CommandButton47 がClick されたとき、変数 t2に Now()時刻を
CommandButton48 がClick されたとき、変数 t3に Now()時刻を、
CommandButton49 がClick されたとき、変数 t4に Now()時刻を
CommandButton50 がClick されたとき、変数 t5に Now()時刻を、
CommandButton51 がClick されたとき、変数 t6に Now()時刻を
それぞれ格納しておいて、
TextBox76 のトータル時間の表示は これらt1〜t6変数の合計値
として算出表示するようにします。
>TextBox76.Text = Format$(t2 - t1 + t4 - t3 + t6 - t5, "[h]:nn")

各CommandButtonがClickされたときの t1〜t6 変数への格納と、
TextBoxへの「時分hh:nn」表示部分は 先のレス 【56642】を参照
して、CommandButtonの番号とTextBoxの番号をそちらの環境に合わせ
修正してください。
Private Sub CommandButton46_Click()
 t1 = Now()
 TextBox49.Text = Format$(t1, "hh:nn")
End Sub

Private Sub CommandButton47_Click()
 t2 = Now()
 TextBox50.Text = Format$(t2, "hh:nn")
 TextBox78.Text = Format$(t2 - t1, "hh:nn")
 TextBox76.Text = Format$(t2 - t1 + t4 - t3 + t6 - t5, "[h]:nn")
End Sub
以下同様、
といった感じです。

0 hits

【56630】時間表示についてお願いします。 マクロ 08/6/25(水) 23:40 質問
【56631】Re:時間表示についてお願いします。 kanabun 08/6/26(木) 0:14 発言
【56632】Re:時間表示についてお願いします。 マクロ 08/6/26(木) 0:25 お礼
【56633】Re:時間表示についてお願いします。 kanabun 08/6/26(木) 8:31 発言
【56635】Re:時間表示についてお願いします。 マクロ 08/6/26(木) 13:51 質問
【56638】Re:時間表示についてお願いします。 kanabun 08/6/26(木) 14:55 発言
【56640】Re:時間表示についてお願いします。 マクロ 08/6/26(木) 16:04 質問
【56642】Re:時間表示についてお願いします。 kanabun 08/6/26(木) 16:55 発言
【56644】Re:時間表示についてお願いします。 kanabun 08/6/26(木) 17:26 発言
【56646】Re:時間表示についてお願いします。 マクロ 08/6/26(木) 18:44 質問
【56647】Re:時間表示についてお願いします。 kanabun 08/6/26(木) 19:07 発言
【56692】Re:時間表示についてお願いします。 マクロ 08/6/30(月) 18:51 お礼
【56696】Re:時間表示についてお願いします。 kanabun 08/6/30(月) 23:08 発言
【56724】Re:時間表示についてお願いします。 マクロ 08/7/2(水) 10:10 質問
【56729】Re:時間表示についてお願いします。 kanabun 08/7/2(水) 11:26 発言
【56733】Re:時間表示についてお願いします。 kanabun 08/7/2(水) 13:54 発言
【56734】Re:時間表示についてお願いします。 VBAでメール 08/7/2(水) 13:57 質問
【56736】Re:時間表示についてお願いします。 kanabun 08/7/2(水) 15:08 回答
【56775】Re:時間表示についてお願いします。 VBAでメール 08/7/4(金) 10:16 質問
【56776】Re:時間表示についてお願いします。 kanabun 08/7/4(金) 10:45 発言
【56777】Re:時間表示についてお願いします。 kanabun 08/7/4(金) 10:50 発言
【56781】Re:時間表示についてお願いします。 VBAでメール 08/7/4(金) 14:32 質問
【56782】Re:時間表示についてお願いします。 kanabun 08/7/4(金) 14:46 発言
【56784】Re:時間表示についてお願いします。 VBAでメール 08/7/4(金) 15:16 質問
【56787】Re:時間表示についてお願いします。 放置新聞 08/7/4(金) 15:40 発言
【56788】Re:時間表示についてお願いします。 kanabun 08/7/4(金) 15:48 発言
【56810】Re:時間表示についてお願いします。 マクロ 08/7/6(日) 20:22 お礼
【56826】Re:時間表示についてお願いします。 VBA勉強中です 08/7/7(月) 17:19 質問
【56830】Re:時間表示についてお願いします。 kanabun 08/7/7(月) 18:16 発言
【56831】Re:時間表示についてお願いします。 VBA勉強中です 08/7/7(月) 18:47 お礼
【56832】Re:時間表示についてお願いします。 kanabun 08/7/7(月) 18:52 発言
【56898】Re:時間表示についてお願いします。 マクロ 08/7/10(木) 10:15 質問
【56912】Re:時間表示についてお願いします。 kanabun 08/7/10(木) 14:40 発言
【56922】Re:時間表示についてお願いします。 マクロ 08/7/10(木) 19:34 お礼

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