Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12102 / 13646 ツリー ←次へ | 前へ→

【12307】少数値をエラーとしたい いんちょー 04/3/30(火) 12:19 質問
【12309】Re:少数値をエラーとしたい Jaka 04/3/30(火) 12:33 回答
【12313】Re:少数値をエラーとしたい いんちょー 04/3/30(火) 13:35 質問
【12368】Re:少数値をエラーとしたい Jaka 04/4/1(木) 12:28 回答
【12310】Re:少数値をエラーとしたい IROC 04/3/30(火) 12:59 回答

【12307】少数値をエラーとしたい
質問  いんちょー  - 04/3/30(火) 12:19 -

引用なし
パスワード
   こんにちは。
値が少数であった場合、エラーとしたいと思い、ループで桁数分ぐるぐる回して
「.」を検索して「.」があった場合、エラーとしています。

ですが、パフォーマンスが悪く何とかしたいと思っています。
他に簡単な方法がご存知の方がいらっしゃたらご教授下さい。

宜しくお願いします。

【12309】Re:少数値をエラーとしたい
回答  Jaka  - 04/3/30(火) 12:33 -

引用なし
パスワード
   こんにちは。

点がある無しだけで良かったら。

If Int(Range("A1").Value) = Range("A1").Value Then
  MsgBox "点無し"
Else
  MsgBox "点あり"
End If

ttt = 0.00001
If InStr(1, ttt, ".") > 0 Then
  MsgBox "点あり"
Else
  MsgBox "点無し"
End If

小数か整数で分けるとなると、ちょっと面倒くさい事になると思います。

例えば
10.0
これは整数?

【12310】Re:少数値をエラーとしたい
回答  IROC  - 04/3/30(火) 12:59 -

引用なし
パスワード
   >少数

小数ですよね?

【12313】Re:少数値をエラーとしたい
質問  いんちょー  - 04/3/30(火) 13:35 -

引用なし
パスワード
   返信ありがとうございます。

>ttt = 0.00001
>If InStr(1, ttt, ".") > 0 Then
>  MsgBox "点あり"
>Else
>  MsgBox "点無し"
>End If

なるほど、こっちのほうが簡単ですね。

>小数か整数で分けるとなると、ちょっと面倒くさい事になると思います。
>
>例えば
>10.0
>これは整数?

少数として扱いたいのです。つまりエラーとしたい。
と言うことです。

やっぱり「.」ではじいた方がよさそうって事ですかね。
ありがとうございます。

【12368】Re:少数値をエラーとしたい
回答  Jaka  - 04/4/1(木) 12:28 -

引用なし
パスワード
   >>例えば
>>10.0
>>これは整数?
>
>少数として扱いたいのです。つまりエラーとしたい。
>と言うことです。
>
>やっぱり「.」ではじいた方がよさそうって事ですかね。

これ質問みたいでしたね。
遅れて、すみません。

えーと、何か点があるか無いかみたいですので、私だったらinstrで、点の有無を調べるだけですませちゃいます。

12102 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free