กระทู้เก่าบอร์ด อ.Yeadram
2,325 3
URL.หัวข้อ /
URL
เปรียบเทียบเวลา
ถ้าต้องการทราบว่าช่วงเวลาอยู่ในช่วงที่เรากำหนดหรือไม่ เช่น ระหว่าง 0750 - 1345 น. ต้องเขียน code .ใน VBA ยังไงครับ
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R09079
ขอบคุณครับ ทีแรกคิดว่ามีฟังก์ชั่นใช้งานแบบเปรียบเทียบวันที่ได้ตรงๆ
3 @R20404
ถ้าเราคีย์ วัน-เดือน-ปี ลงใน Form แล้วอยากรู้ว่า
- ถ้าปีหน้า (วัน-เดือน ข้างต้นแล้ว) จะเป็นวันอะไร? Monday or Tuesday.....
- ว.ด.ป.ข้างต้น เป็นสัปดาห์ที่เท่าไรของปี
- ว.ด.ป.ข้างต้น เป็น quater ที่เท่าไรของปี
- วันแรกของปีข้างต้นเป็นวันอะไร
- วันสุดท้ายของปีข้างต้นเป็นวันอะไร
- ถ้าปีหน้า (วัน-เดือน ข้างต้นแล้ว) จะเป็นวันอะไร? Monday or Tuesday.....
- ว.ด.ป.ข้างต้น เป็นสัปดาห์ที่เท่าไรของปี
- ว.ด.ป.ข้างต้น เป็น quater ที่เท่าไรของปี
- วันแรกของปีข้างต้นเป็นวันอะไร
- วันสุดท้ายของปีข้างต้นเป็นวันอะไร
Time: 0.3342s
เพราะอาจต้องแปลงชนิดข้อมูลให้เป็นแบบเดียวกันก่อนค่อยเปรียบเทียบ
ตัวอย่างการแปลงเป็น date/time ก่อนจะเปรียบเทียบ
Function BetweenTime(yTime As Date, period As String) As Integer
Dim bgTime, fnTime As Date
bgTime = TimeSerial(CInt(Left(period, 2)), CInt(Mid(period, 3, 2)), 0)
fnTime = TimeSerial(CInt(Left(Right(period, 4), 2)), CInt(Right(period, 2)), 0)
BetweenTime = False
If yTime >= bgTime And yTime <= fnTime Then BetweenTime = True
End Function
ตัวอย่างการแปลงเป็น number ก่อนเปรียบเทียบ
Function BwTime(yTime As String, period As String) As Integer
BwTime = False
If CLng(yTime) >= CLng(Left(period, 4)) And _
CLng(yTime) <= CLng(Right(period, 4)) Then BwTime = True
End Function
ตัวอย่างการเรียกใช้งานฟังก์ชั่น
Dim pr As String
pr = "0745 - 1330"
Debug.Print BetweenTime(#7:50:00 AM#, pr)
Debug.Print BwTime("0750", pr)