• 締切済み

時間の計算方法

VB超初心者です。 次の時間に関する関数を教えてください。 もちろん自作です。) 1 日数差を計算する。 ANS=DATEAB(A,B) A = "2004/01/08" B = "2003/12/25"  ANS=15 2 時間差を計算する。 (1)A = "08:30:00" B = "08:25:00" ANS="00:05:00" (2)A = "00:10:00" B = "23:50:00" ANS="00:20:00"

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

・日数差を計算の方の一例 Private Sub Form_Click() d1 = Split("2003/12/25", "/") d2 = Split("2004/1/8", "/") h = DateSerial(d2(0), d2(1), d2(2)) _ - DateSerial(d1(0), d1(1), d1(2)) + 1 MsgBox h End Sub Split関数はエクセルVBAでは使えないと思います。 イベントをForm_Clickにしたのは特に意味はありません。 実際は関数Function DATEAB(A,B) d1=A:d2=B (上記コード) DATEAB=h End Function の引数A,Bでd1,d2にあたる文字列を渡してください。

noname#4564
noname#4564
回答No.2

  私もVB小心者です。(違 日数、時間の計算は、DateDiff、DateAdd関数で行うのが一番簡単だと思いますが、専門家なら、もっと素晴らしい車輪(例 : 楕円形の車輪)を再発明してくれるかもしれません。 標準関数の機能が不満なら、専門家のフォローに期待しましょう。(^-^)  

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=506001,http://oshiete1.goo.ne.jp/kotaeru.php3?q=483182
inuunagi
質問者

お礼

無駄な書き込みが多いな

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

>次の時間に関する関数を教えてください。 >もちろん自作です。) 自作の関数を教えて欲しいというのでしょうか?(笑) 時間計算は、秒に直して計算したらいいと思いますよ。 つまり 時、分、秒と取り出し、 時×3600+分×60+秒をしてあげ それで 引き算して また 元に戻せばいいのですね。 それを自作してみてください。

inuunagi
質問者

お礼

質問の回答になってないな

関連するQ&A