Excel VBA 質問スレ Part70
■ このスレッドは過去ログ倉庫に格納されています
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part69
https://mevius.5ch.net/test/read.cgi/tech/1607786543/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured 日付を扱うならDate型使うけど
時間を扱うならDouble型使うなぁ >>52
シリアル値で日付までが整数部で時間から小数点になるから小数点扱える型なのにミリ秒が扱えないと言うのが
ちょっと引っ掛かったので調べてみたよ。
方式はセルにミリ秒まで表示出来るフォーマットを設定して(yyyy/mm/dd hh:mm:ss.000)
隣のセルにその値を代入する数式を書いて、数値で小数点16桁くらい表示するようなフォーマットを設定して、
またその隣にそのセルの値を代入してセルにミリ秒まで表示するフォーマットのセルを用意して
元の値が正しく表示されるか確認した。
で、VBAで最初のセルの値をDATE型の変数に入れてDouble型に変換したら、
キチンと2番目のセルと同じ頭になることが確認出来たので、DATE型はミリ秒まで持てることが分かった。
じゃ、何で丸められちゃうの?
と言うことになると思うけど、どうやらこういうことらしい。
https://support.microsoft.com/ja-jp/topic/excel-ワークシートのセルに-vba-の日付形式またはバリアント型の日付形式を割り当てようとすると-ミリ秒が最も近い秒に丸められます-4a0af2c5-78de-762f-6431-8669890f585b ■ このスレッドは過去ログ倉庫に格納されています