Excel VBA質問箱 IV

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

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


66227 / 76738 ←次へ | 前へ→

【15076】Re:変数 = [Now()]・・・って
お礼  つん E-MAIL  - 04/6/15(火) 10:46 -

引用なし
パスワード
   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()]」だとすんなり滑り出すように動くのに・・・
同じようでいて、やっぱり違うんかな・・・

なんだか色々試してる内に、ごっちゃになってきそうになりました(^^;
でも、だいぶわかってきたかな?
どうもありがとうございました(^^)

1 hits

【15011】UserForm上のイメージを動かす ゆう 04/6/13(日) 13:35 質問
【15012】Re:UserForm上のイメージを動かす つん 04/6/13(日) 14:05 回答
【15013】Re:UserForm上のイメージを動かす ゆう 04/6/13(日) 14:33 質問
【15018】Re:UserForm上のイメージを動かす クウガ 04/6/13(日) 15:58 回答
【15028】Re:UserForm上のイメージを動かす ゆう 04/6/13(日) 20:57 お礼
【15053】変数 = [Now()]・・・って つん 04/6/14(月) 15:56 発言
【15057】Re:変数 = [Now()]・・・って ichinose 04/6/14(月) 16:31 発言
【15059】Re:変数 = [Now()]・・・って つん 04/6/14(月) 17:06 発言
【15064】Re:変数 = [Now()]・・・って ichinose 04/6/14(月) 18:10 発言
【15076】Re:変数 = [Now()]・・・って つん 04/6/15(火) 10:46 お礼
【15079】Re:変数 = [Now()]・・・って クウガ 04/6/15(火) 11:31 発言

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