アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは
時刻文字列を比較する方法についておしえてください。

セルに時刻文字列 9:01とか12:34などが記載されていたら「OK」 
そうでない場合は「NG」となるような判定方法についておしえてください。
例)
12:34 MSGBOX ”OK”
1234  MSGBOX ”NG”
宜しくお願いいたします。

A 回答 (3件)

どこかのセルに ”OK” または ”NG” と表示させたいなら…


例にある表示が、
 13:56
の書式であること【だけ】を対象としているなら、
 =IF(CELL("format",A1)="D9","GOOD","NG")
でOK。
 12:34:56
の書式なら「D9」の部分を「D8」にすればいい。

CELL関数について調べてみると幸せになれるかもしれません。

・・・
もしも入力時に ”時刻” 以外は弾きたいと言うのであれば「入力規則」で ”時刻” を指定してみましょう。
そして ”時刻” 以外の入力がされた時に返す「エラーメッセージ」を設定すれば良い。
「時刻文字列を判定する方法について」の回答画像2
    • good
    • 1
この回答へのお礼

御回答ありがとうございました。
CELL関数初めて知りました。勉強になります。 
(今回は上の方が示されているIsdate関数にて解決しました。せっかく
御回答いただいたのにすみません。) 

スクリーンショットまでとって、わかりやすくご説明いただき感動しました。猛烈に感動しております。よって、ベストアンサーとさせていただきました。本当にありがとうございました。

お礼日時:2018/12/18 23:31

24時間を越えていない場合。



Sub TimeTest1()
 With ActiveCell
  If .Value <> "" Then
   If .Value2 <= 1 And IsDate(.Text) Then
    MsgBox "OK"
   Else
    MsgBox "NG"
   End If
  End If
 End With
End Sub
    • good
    • 0
この回答へのお礼

こんにちは。

こちらの条件文を使い解決しました。
ありがとうございました。

Isdate関数を調べるとDATA型(日付と時刻)として有効かどうか
調べ、そうであればTRUEとなければFalseを返すという大変便利
な関数みたいですね。VALUE2とかTEXTとか知らないことだらけでした。
色々と勉強になりました、

お礼日時:2018/12/18 23:25

拾いものですが


Public Function IsTime(ByVal strIndata As String, _

Optional strFmt As String = "h:mm") As Boolean
IsTime = (Format(strIndata , strFmt) = strIndata) * IsDate(strIndata)
End Function
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!