| 
    
     |  | ichinose さん、おはようございます。 
 丁寧な返事を頂いていたのに、こちらの返信が遅くなりました。
 書いていただいてサンプルコード試しました。
 なるほど・・・だいぶわかってきた気がします。
 
 >これは、「VBAのNOW()関数は、Date型で返され、
 >ワークシート関数の[now()]は、Double型で返されるからだ」
 >と私は認識しているですが・・・
 これと、以下のサンプルコードで、だいぶ納得出来たかなあ
 
 >Sub test()
 >  Dim bbb As Double
 >  Dim aaa As Date
 >  MsgBox Now()
 >  aaa = [now()]
 >  MsgBox aaa
 >  bbb = Now()
 >  MsgBox bbb
 >End Sub
 
 >さらにDate型の場合、
 >Helpには、
 >「0:00:00 〜 23:59:59 の範囲の時刻を表すことができます。」
 >つまり、VBAのNOW()関数は、Date型なので秒単位までしか値を持ってこないのでは
 >と思っています。
 
 ようするに、データの型の問題なんですね・・・
 
 そういうことで、ichinoseさんの上記のサンプルと同じようなもんですが
 
 Sub test4()
 Dim a As Double
 Dim h As Double
 a = Now()
 h = [Now()]
 MsgBox a & vbCr & h
 End Sub
 
 というのを試してみて、ほぼaもhも同じ形で戻ってきたので、
 最初の、イメージを動かすプログラムも、
 
 Dim r As Long
 Dim t As Double
 
 t = Now()
 
 For r = 1 To 15
 ’(処理省略)
 t = t + 0.0000015
 Application.Wait t
 
 Next r
 
 で試してみました。
 そしたら、ほぼ「t=[Now()]」でしたときと同じように動きました。
 ただ、最初だけほんの少し飛ぶみたいな動きになってしまいました。
 「t=[Now()]」だとすんなり滑り出すように動くのに・・・
 同じようでいて、やっぱり違うんかな・・・
 
 なんだか色々試してる内に、ごっちゃになってきそうになりました(^^;
 でも、だいぶわかってきたかな?
 どうもありがとうございました(^^)
 
 
 |  |