初心者から実務利用者まで
わかりやすいVBA解説サイト
コードサンプル

セルの値が数値か判定する

セルに入っている値が数値かを判定します。

遥先生
遥先生
IsNumeric関数という関数を使うのよ。
この記事でわかること

・IsNumeric関数の使い方
・IsNumeric関数の誤作動を防ぐ方法

セルの値が数値かを判定するコード

遥先生
遥先生
A1セルの値が数字かそれ以外かで
表示するメッセージが変化します。

IsNumeric関数とは?

IsNumeric関数は、
引数にした値が数字か判定する関数です。

指定したデータを数字か判定し、その結果を元に
If関数による分岐で処理を変えています。

IsNumeric関数の誤作動を防ぐ!

解説書などにはあまり掲載されているのを見たことがありませんが
実はIsNumeric関数は、セルが空白でも数字と判断してしまいます。

遥先生
遥先生
サンプルのコードでA1セルを空白にして起動すると
「””」も数値と判断されてしまうから注意してね。

もしこのマクロを実務で使用して、
空白セルを「数値です」と判定されると問題が起きる可能性があります。

「セルには必ず何かデータが入っていることを前提とする」という
使用上のルールを作るのも一つの手ですが
それではマクロ作成者として良い仕事をしたと胸をはれません。

そのため、もうひと手間加えて
より強固なマクロに改変してみましょう。
例えばこんなコードが考えられます。

遥先生
遥先生
仮にどんなデータが来ても良いように
マクロを作っておくのよ。
ひとみさん
ひとみさん
ユーザーが困らないようにですね!