Excel VBA質問箱 IV

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

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


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

【53452】テキストボックスに入力された文字列の判定 映画館スタッフ 08/1/13(日) 20:35 質問[未読]
【53453】Re:テキストボックスに入力された文字列の... じゅんじゅん 08/1/13(日) 20:46 発言[未読]
【53454】Re:テキストボックスに入力された文字列の... 映画館スタッフ 08/1/13(日) 21:23 お礼[未読]

【53452】テキストボックスに入力された文字列の判...
質問  映画館スタッフ  - 08/1/13(日) 20:35 -

引用なし
パスワード
   こんばんわ
検索を色々かけたのですが、求めているのがヒットしませんでしたので、質問させていただきます。

ユーザーフォーム内のテキストボックスに 9:30 などの時刻を文字列として入力したとします。
この値をセル上で操作していきたいのですが、打ちミスで「9;30」などとなってしまった場合の処理が上手く思いつきません。
セル上では、Format(〜,"h:mm")として時刻同士の計算などでこの値を使いたいので、打ちミスがあるとエラーを返されてしまいます。

理想のプログラムとしては、9;30と間違って打ち込まれたとき、メッセージボックスなどで警告を発したいのです。
この場合、文字列操作として Right 関数で右から3番目が「:」であるかどうかをチェックする方法以外にうまく処理できるコードがありますでしょうか?
よろしくお願いします。

【53453】Re:テキストボックスに入力された文字列...
発言  じゅんじゅん  - 08/1/13(日) 20:46 -

引用なし
パスワード
   ▼映画館スタッフ さん:
>理想のプログラムとしては、9;30と間違って打ち込まれたとき、メッセージボックスなどで警告を発したいのです。
>この場合、文字列操作として Right 関数で右から3番目が「:」であるかどうかをチェックする方法以外にうまく処理できるコードがありますでしょうか?
>よろしくお願いします。


Dim v As String
v = "9:30"
MsgBox IsDate(v)

v = "9;30"
MsgBox IsDate(v)

この結果が判定に使えませんか?

【53454】Re:テキストボックスに入力された文字列...
お礼  映画館スタッフ  - 08/1/13(日) 21:23 -

引用なし
パスワード
   じゅんじゅんさん、ありがとうございます。
IsDate()は文字列にも対応していたんですね!
早速チェック用に組み込みたいと思います。
ありがとうございました。

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