入力されているデータを日付型に変える Sub(マクロ)を作る時に悩んだこと。
既に日付型になっている場合は変換対象外にするため、isDate関数を使うと、変換されないケースが多く発生したのだ。
イミディエイト ウィンドウで確認すると‥‥
?isDate("23,05,25") True ?format("23,05,25","yyyy/mm/dd") 2023/05/25 ?format("23,05,25","gee/mm/dd") H35/05/25
悩んだ挙句、VarType で判定することにした。
?VarType("23,05,25") 8 ?VarType(230525) 3 ?VarType("H23/05/25") 8 ?VarType(CDate("H23/05/25")) 7
■ Excel ヘルプより
- 構文
- VarType(varname)
引数 varname は必ず指定します。引数 varname には、ユーザー定義型の変数を除く、任意のバリアント型 (Variant) の変数を指定します。
- VarType(varname)
- 戻り値