人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelのマクロを組んでいてふと気づきました。

Date型として宣言した変数をウォッチリストに入れて観察していると、Variant/Dateとなっています。
これはVariant型なのでしょう?Date型なのでしょうか?

あと、本来Date型は時刻も含むものとの認識だったのですが、この変数の場合、日付の部分だけで時刻が含まれていません。

Dateと宣言したにもかかわらず、Variant/Dateとなり、時刻が無視される理由について、また時刻まで含めて定義する方法についてご存じの方がいましたらご教授願います。

Googleで検索した限りでは、VariantかつDate型、よくわからないけどそういうものとして覚えておく、という書き込みがありました。
そういうものなのはわかるのですが、なぜそのようになっているのかということと、
時刻まで含まれないことはVariant/Date型と関係あるのか、あるにしても無いにしても、日付と時刻をひとまとめに扱う方法はないのか、について質問します。

1399454432
●拡大する

●質問者: しゅうすけ
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● sasada
●150ポイント

date型変数は日付と時刻を保存できます。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/function/vba_date.html

ただ、日付と時刻を同時に取得するときはDate()関数ではなくNow()関数を使ってください。
http://officetanaka.net/excel/vba/tips/tips59.htm

date型は日付時刻を表すシリアル値が入っています。このため、Variant型としても取り扱えるのでVariant/Date型になっているのではないでしょうか。


2 ● 井戸端さん
●150ポイント ベストアンサー

便宜上VARIANT型といってるけどほんとはVARIANT構造体といって文字列型や日付型などのデータ型とは次元の異なる存在なの。

VARIANT構造体にはデータ型とデータが格納されているの。
VARIANT型の変数になにかを代入すると自動的にデータ型判別されて内部処理形式DateのVARIANTなどになるわけ。
だからDim a AS dateに日付型データを入れることができることと同様にDim aにも日付型データを入れることができちゃうの。

Variant型とは 〔 バリアント型 〕 - 意味/解説/説明/定義 : IT用語辞典

Variant型の変数は代入時に代入する値のデータ型がチェックされ、それに合うデータ型が自動的に選択される。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ