VBA 【Val関数】文字列の数値を認識



The following two tabs change content below.

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうも、takaです(^^♪

さて皆さんはExcelで数値だと思っていてVBAを実行したらうまくいかず、確認してたら数値が「文字列」として作成されていた・・・なんてことありません?(*_*;

実はというと私の会社の社内システムの一部でこのように出力される部分があり大変迷惑しています(;・∀・)

そんなとき便利なのが、この「Val関数」です( *´艸`)

VBA の【Val関数】とは?

このval関数は文字列の【数値として認識できる部分】を数値で返す関数です(^.^)

文字で説明してもわかりにくいと思いますのでこの【数値として認識できる部分】とはどのようなものなのか?簡単に解説していきます。

Val関数の書式

val関数の書式はこのように書きます

では実際に使ってみましょう。

今回はVal関数と普通の場合一緒に使ってみて比較をしてみます。

このコードはメッセージボックスでVal関数と普通に文字列を表示させるというコードです。

Val関数では【1000人】と表示されず、普通では当たり前ですが1000人と表示されます。

Val関数を使って文字列で計算

Val関数を使えば文字列での計算も可能です。

無事に文字列の1000に8%をかけることができました(^^♪

Val関数の使用上の注意点

一見便利なVal関数ですが、一つ注意点があります。それは文字列を先頭から見て【数値として認識できる部分】を返すというところです。

実際どういうことなのか見ていきましょう。

通貨の単位を表すときに使用される【,】この【,】を境目として文字列と認識されます、なのでこの場合Val関数では数値としては認識されない邪魔者になるわけです。

なので実行結果では【1】と表示されます。

実行結果

緑枠の【1】が数値と認識されている部分 赤枠が数値と認識されない部分、という事になります。

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Twitterフォロー

 

Twitterもやってます(^^♪Excelについてはあまり触れませんがブログの更新のお知らせはツイートしています(^^♪

Twitterフォロー

 



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です