解決済み

数字かどうかを判断させたい

  • すぐに回答を!
  • 質問No.299683
  • 閲覧数155
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 75% (315/420)

 コンボボックスから選択されたテキストオブジェクト名は(cmbNyuです)が数字かどうかを判断さたいのですが、エクセルでゆうisnumberのような関数はないのでしょうか?

 ifを使ってもしcmbNyuが数字なら、と言う条件式を作りたいのです。しかし、cmbNyuは
For i = 1 To matsu
cmbNyu.AddItem (i & "日")
cmbTai.AddItem (i & "日")
Nextとしてるため"日"が入っています。(i & "日")全体で数字と見なす、もしくわ、日の部分は判定しないようにしたいです。どうすればいいでしょうか?
よろしくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2

ベストアンサー率 51% (1179/2272)

こんにちは。maruru01です。

IsNumeric関数ですね。
"日"が後ろに付いているなら、Left関数で取っ払えばいいでしょう。
(左から文字列長-1だけ取り出す)
したがって、

If IsNumeric(Left(cmbNyu, Len(cmbNyu) - 1)) Then
(数値だった場合の処理)
End If

となります。
ちなみにIsNumeric関数は、
1.2E+10
のような指数表現も数値と見なしますので注意して下さい。
では。
お礼コメント
rufas

お礼率 75% (315/420)

有難うございました。Left関数とLen関数がわからなかったのでこれを調べてやってみたら出来ました!!最初isNumberかな、is numericかなとかいろいろやっていました。スペースなしのisnumericだったんですね。わかりました。有難うございました。
投稿日時 - 2002-06-25 15:14:43
OKWAVE 20th Be MORE ありがとうをカタチに

その他の回答 (全2件)

  • 回答No.3

ベストアンサー率 40% (230/562)

単位を含んだような文字列を数値に変換したいときは、Val関数を使ってください。

Debug.Print Val("5日")
で5が表示されます。
お礼コメント
rufas

お礼率 75% (315/420)

なるほど!数値に変換してから判定すればいいのですね?有難うございました。
投稿日時 - 2002-06-25 15:08:39
  • 回答No.1

ベストアンサー率 33% (16/48)

IsNumeric関数というのがありますよ。式が数値として評価できれば真、文字等の場合には偽になります。IsNumeric(Text1.Text)のように使うことができます。
お礼コメント
rufas

お礼率 75% (315/420)

お早い回答有難うございまいした。やってみたら出来ました。またお願いします
投稿日時 - 2002-06-25 15:18:49
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ