| 
    
     |  | こんにちは。 力をお貸しください。
 
 A列には[2009/7/13 8:00:00]
 といったdate型の値が記入してあります。
 
 平日: 9:00〜17:30以外
 土日祝日: 全日
 
 を時間外として表示するものを作りたいのですが
 曜日判別はうまくいったものの、時間をうまく認識してくれません。
 どこに問題があるのかご指南いただけますでしょうか。
 
 また、祝日を認識するにはどのような手段があるか、
 ヒントをいただけると助かります。
 
 ※祝日リストをシートに作って期日が合致するかどうか見るしかないかなあ、と現時点では考えていますが…もっとスマートな方法があればそちらを取りたいと思っています。
 
 
 sub test()
 
 Dim Gyou As Long
 Dim sday As Date
 Dim ws1 As Worksheet
 
 Set ws1 = ThisWorkbook.Worksheets("DATE")
 
 Gyou = InputBox("何行目を見ますか")
 
 sday = ws1.Range("A" & Gyou)
 
 Select Case Weekday(sday, vbSunday)
 Case 2, 3, 4, 5, 6 '月火水木金
 If TimeSerial(9, 0, 0) > sday > TimeSerial(17, 30, 0) Then
 MsgBox "時間外"
 Else
 MsgBox "時間内"
 End If
 Case 1, 7 '土日
 MsgBox "時間外"
 End Select
 
 End Sub
 
 ※
 If TimeSerial(9, 0, 0) > sday > TimeSerial(17, 30, 0) Then
 の[sday]の部分を[Format(sday, "HH:NN:SS")]に変更しても駄目でした。
 
 どうぞよろしくお願いいたします。
 
 |  |