VBAで文字列を数値に変換する

Val関数を使って文字列を数値に変換する

文字列を数値に変換するにはいくつか方法があります。

  • Val関数(文字列の左から変換できるまでをDouble型に変換) Val関数がおすすめ!
  • CDbl関数(数字文字列をDouble型に変換)
  • CSng関数(数字文字列をSingle型に変換)
  • CLng関数(数字文字列をLong型に変換)
  • CInt関数(数字文字列をInteger型に変換)
  • CDec関数(数字文字列をVariant型(10進数値)に変換)

いずれを利用しても同じような結果になります。ただし、括弧に書いた内容の制限があります。

その中でもVal関数がエラーになりにくく使いやすいです。

Val関数以外は文字列の中に数字以外が入っているとエラーになりますが、Val関数はエラーにならず、文字列の左端から数字以外の文字の直前までを変換します。

文字列から数値に変換するサンプルコード



実行結果

いくつかの文字列パターンを挙げていますが、いずれの場合もエラーにならず数字が数値に変換されます。

Val関数の特徴

Val関数は文字列の左端から数字と半角スペースとタブとドット(.)が続く間だけ数値に変換します。

そのため、円の金額表示で\文字が先頭についている場合は\を数値変換できずに0を返しますし、カンマ(,)もそこで変換が止まってしまいます。

なお、通貨用のCCur関数やDouble型用のCDbl関数は\文字もカンマ文字も数値の一部として解釈します。

関連記事

サブコンテンツ

このページの先頭へ