- ベストアンサー
数字かどうかを判断させたい
コンボボックスから選択されたテキストオブジェクト名は(cmbNyuです)が数字かどうかを判断さたいのですが、エクセルでゆうisnumberのような関数はないのでしょうか? ifを使ってもしcmbNyuが数字なら、と言う条件式を作りたいのです。しかし、cmbNyuは For i = 1 To matsu cmbNyu.AddItem (i & "日") cmbTai.AddItem (i & "日") Nextとしてるため"日"が入っています。(i & "日")全体で数字と見なす、もしくわ、日の部分は判定しないようにしたいです。どうすればいいでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 IsNumeric関数ですね。 "日"が後ろに付いているなら、Left関数で取っ払えばいいでしょう。 (左から文字列長-1だけ取り出す) したがって、 If IsNumeric(Left(cmbNyu, Len(cmbNyu) - 1)) Then (数値だった場合の処理) End If となります。 ちなみにIsNumeric関数は、 1.2E+10 のような指数表現も数値と見なしますので注意して下さい。 では。
その他の回答 (2)
- haporun
- ベストアンサー率40% (230/562)
単位を含んだような文字列を数値に変換したいときは、Val関数を使ってください。 Debug.Print Val("5日") で5が表示されます。
お礼
なるほど!数値に変換してから判定すればいいのですね?有難うございました。
- borick
- ベストアンサー率33% (16/48)
IsNumeric関数というのがありますよ。式が数値として評価できれば真、文字等の場合には偽になります。IsNumeric(Text1.Text)のように使うことができます。
お礼
お早い回答有難うございまいした。やってみたら出来ました。またお願いします
お礼
有難うございました。Left関数とLen関数がわからなかったのでこれを調べてやってみたら出来ました!!最初isNumberかな、is numericかなとかいろいろやっていました。スペースなしのisnumericだったんですね。わかりました。有難うございました。