Excel VBA質問箱 IV

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

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


19807 / 76732 ←次へ | 前へ→

【62351】時間外、時間内の判別方法
質問  さくら  - 09/7/13(月) 16:49 -

引用なし
パスワード
   こんにちは。
力をお貸しください。

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")]に変更しても駄目でした。

どうぞよろしくお願いいたします。

2 hits

【62351】時間外、時間内の判別方法 さくら 09/7/13(月) 16:49 質問
【62352】Re:時間外、時間内の判別方法 もも 09/7/13(月) 16:55 発言
【62353】Re:時間外、時間内の判別方法 さくら 09/7/13(月) 17:03 発言
【62354】Re:時間外、時間内の判別方法 kanabun 09/7/13(月) 17:27 発言
【62356】Re:時間外、時間内の判別方法 kanabun 09/7/13(月) 21:45 発言
【62358】Re:時間外、時間内の判別方法 Yuki 09/7/14(火) 7:52 発言
【62360】Re:時間外、時間内の判別方法 さくら 09/7/14(火) 10:42 お礼
【62361】Re:時間外、時間内の判別方法 kanabun 09/7/14(火) 10:56 発言
【62363】Re:時間外、時間内の判別方法 さくら 09/7/14(火) 13:40 お礼

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