Excel VBA CLng関数の使い方と文字列をLong型の数値に変換する

VBA関数

今回はCLng関数で数字の文字列をLong型の数値に変換する方法をご説明します。

文字列を数値に変換する関数は色々ありますが、今回ご紹介するCLng関数は型をLong型に指定して数値に変換します。

Long型は長整数型(-2,147,483,648~2,147,483,647)の数値型になります。

小数点以下は扱えません。

データを処理しようとした場合に、文字列の数字が含まれていると演算などでエラーとなってしまいますので、事前に変換する事でエラー回避出来ます。

その他の数値へ変換する方法は下記記事をご覧ください。

1.CLng関数の使い方

指定した文字列をCLng関数は型をLong型に指定して数値に変換します。

構文は次のように記述します。

CLng(値)

値には任意の文字列式または数式を指定します。

値がLong型に変換できない場合はエラーとなります。

小数部は、整数に丸められます。

この丸めは、小数部分がちょうど 0.5 のとき、常に最も近い偶数に値を丸めます。

「\」、「,」が含まれていても変換可能です。

また、数式の計算結果も数値化出来ますし、全角の数字も変換可能です。

日付を指定した場合は、シリアル値に変換されます。

Val関数は「,」カンマが含まれた数字は「,」の前までしか数値に変換できませんが、CLng関数は「,」も含めて数値に変換可能です。

2.サンプルコード

「\」や「,」も変換可能です。

※サンプルコードの一番上は「\1,000」です。

Sub Sample1()

Debug.Print CLng("\1,000") '1000に変換

Debug.Print CLng("5000") '5000に変換

Debug.Print CLng("123.456") '123に変換

Debug.Print CLng("1234567890") '1234567890に変換

Debug.Print CLng(10 / 3) '3に変換

Debug.Print CLng(#1/1/2019#)   '日付のシリアル値に変換

End Sub
タイトルとURLをコピーしました