変数④
Date型変数について
Date型変数は日付を格納する為の変数です。
ちなみにDate型変数には時刻も格納する事が出来ますので適宜使い分けていきましょう。
ではいくつか日付の格納の仕方を学んでいきましょう。
Dim a As Date Dim b As Date Dim c As Date a = "2017/10/28" b = 43036 c = Cells(1, 1) & "/" & Cells(2, 1) & "/" & Cells(3, 1)
- 変数a … 単純に文字列として日付を入れる形です。
- 変数b … 1899年12月31日を起算日としたシリアル値を整数として渡す形です。シリアル値は1899年12月31日を1として日付が1日進むごとに1足されます。つまり1900年1月1日は2になります。
- 変数c … セルから日付に必要な情報を持ってきてそれぞれの値を/でつなげたものです。作りあげる形のイメージは変数aと一緒の形です。
それぞれの変数にちゃんと日付が格納出来ているかローカルウィンドウを見て確認してみましょう。
きちんと入っていますね。と、今回は3つの日付格納方法を紹介しましたが他にも沢山の方法があります。他の方法はまたの機会にしましょう。
Variant型変数
Variant型変数とは「何でも入る」変数の型でしたね。取り敢えず何でも入れてみましょう。
ここでローカルウィンドウに注目してみましょう。型がスラッシュで区切られて2つ表示されていますね。Variantで宣言した時はこの様にVariant型で宣言された事と格納後はこの型に変換されましたというのが表示されるんです。
例えば変数aは先程のDate型変数で日付として認識されていた文字列ですがローカルウィンドウの型を見ると『Variant/String』となっていますね?
そう、これは日付ではなく文字列として格納されてしまったんです。変数dの様に#で括ると日付として認識してくれるようになります。
この様にVariant型変数は意図しない型に変換されてしまう可能性があります。処理自体も重くなるものなのでどうしてもVariant型変数でなくてはいけない場面以外は使う事を避けましょう。
と、変数の型についてのお話は今回で一旦終了して次回からはループ処理をお勉強していきたいと思います。