VBA36_データ型変換関数は必須です

おはようございます。朝から本社出張のBenです。前回のCSVファイルの読み込みでは日付を文字列として読み込んで、それをCDate関数で日付のデータ型に変換していました。このデータ型の変換関数はいくつかありますが、のこれまでの経験上、プログラミングに必須と言っていいものです。そこで今回はよく使うものを抜粋しました。

20160329a.png
前回使ったCDateは日付に変換する関数です。多分ChangeDateの略でCDateと決めたのだと思います。例文のように文字列などで日付風に引数を設定するとそれに対応した日付データ型として返ってきます。ちなみにその返ってきたものを変数に格納するか、メッセージボックスなどで表示するかは自由ですが、その返ってきたものを戻り値と言います。

次のCIntは整数に変換するものです。外部のテキストファイルから読み込むときに、なんか問題が起きるのが嫌なので、いったん文字列で読み込み、問題なかったらCIntで整数に変換して、値として使用するというのをよく使います。の実経験では、湿度の記録計で過湿で振り切れて***になっているのを読み込み、数値に変換しようしてエラーになったことがあります。

後よく使うのは、CSngです。これはSingleなので小数点型に変換するものです。整数型と同じく、テキストでもバイナリでも読み込んだものを変換するときによく用います。最後にCStrです。これはString型、つまり文字列に変換するものです。その他に、より長い長整数型に変換するCLngやより桁数が多い倍精度浮動小数点型に変換するCDblもあります。

CInt("***") '型が一致しないエラーが出ます
CDate("2012-01-01") '2012年1月1日0時0分0秒の日付型に変換
CInt(4.72) '四捨五入されて5になります
CStr(12) + CStr(34) '"1234"という文字列になります
簡単な例ですが、こんな感じで使います。これらは様々な場面で使用するので、はほとんど忘れることがありません。次回は、上で赤になっている「問題なかったら」という部分で使用する、エラーが出ないようにするための関数をノートします。

この記事へのコメント


この記事へのトラックバック