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

VBAで文字列を数値に変換するには、Val関数を使用します。

Val関数の使い方

Val関数は、指定した文字列に含まれる数値を数値に変換します。先頭から、最初の文字列が現れるまでの数値を返します。構文は下記です。

引数は一つだけで、戻り値は数値です。第1字目が文字列の場合、0を返します。

特徴

1.変換されるのは最初の文字列が現れるまで

Val関数は、文字列の先端から1字ずつ内容を調べ、数値に変換できない文字列が現れるとそこで処理を終えます。下記に例を示します。

引数stringには、任意の文字列式を指定します。

[実行結果]Val

Aでは、最初の文字列「人」までの「500」が、同じくBでは「2016」が返されています。Cでは先頭が文字列なので、「0」となりました。注意として、全角の数字は数値とみなされません。

2.スペース、タブの扱い

スペース(全/半角問わず)、タブは無視されます。

[実行結果]Val2

3.記号

「.」(ピリオド)のみ小数点として認識します。「¥」などの通常数値とみなされる記号も文字列と見なされます。桁区切りでよく使われる「,」は文字列とみなされます。例えば、「3,000」は「3」になるますのでご注意ください。

[実行結果]Val3


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて