[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日付の判定、分数形式』(jahakas)
A1に「'1/50」を入力します。 これが、日付か判定するために、
If IsDate(Range("A1")) = False Then MsgBox "NG" End If
を実行します。 NGの表示がされません。 どう判定したら良いのでしょうか? 1/50は、50人中の順番1位を示しています。 分母分子とも桁数に制限はありません。
< 使用 Excel:unknown、使用 OS:unknown >
MsgBox CDate(Range("A1").Value)
とやっても日付に変換されてしまうし。
たまたま、50日なんて物はないという認識でしょうか?
エクセルと人間の文字認識の違いなので、専門の方はどうやっているのか知りません。
(難しいですか?) 2022/06/30(木) 10:43
?CDate(Range("A1")) ↓ 1950/01/01
ですからねぇ。
?TypeName(Range("A1").Value) なら↓ String
ですけど。
ところで、 順位として使用する事が決まってる(用途が定義済の)値について わざわざ日付がどうかを判定しなければならない理由って何なんでしょう?
いまいち何を判断したいのか分かりませんです。
(白茶) 2022/06/30(木) 10:44
これで、文字比較する?
>わざわざ日付がどうかを判定しなければならない理由って何なんでしょう?
白茶さんの一言では?
(難しいですか?) 2022/06/30(木) 10:48
どうもXX/YYの場合 月/日 日/月 年/月 月/年 とみなせるか、をチェックしているようだ。 なお年は4桁まで。 (ねむねむ) 2022/06/30(木) 10:49
Sub テキトー() Debug.Print IsDate("2022/" & Range("A1").Value) End Sub
(もこな2 ) 2022/06/30(木) 10:54
n人中 m番目を表すなら、例えば、
m // n などとすればよいのでは? これはIsDateでTrueにはなりません。一応区別はつきます。 (全く別の形式のほうがよいかも。 m Of n とか。)
そういう話ではないのかな。だったら失礼。
(γ) 2022/06/30(木) 11:27
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.