:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#1

Post by akekorn »

สวัสดีครับคุณคนควน และ เพื่อนสมาชิกทุกท่าน
วันนี้ผมมีข้อสงสัย เกียวกับ event ใน datetime picker ว่า สาเหตุใด code ที่ผมเขียน ไว้ เวลาใช้งานกับ event กลับไม่ค่อยตอบสนอง
แบบทันที เนื่องจากผมลองทำ form ตรวจสอบวันและวันหยุดนักขัตฤกษ์ ในปี 2018 - 2019
ผมมีข้อสงสัยดังนีั้
1 event ต้องใช้ event ใด object จึงจะตอบสนองกลับแบบทันที ครับเพราะจากตัวอย่างผมใช้ หลาย event แต่ไม่ตอบสนองทันที
2 code ที่ผมลองทำดู ผมรู้สึกว่ามันยังไม่ดี อยากรบกวนคุณคนควน หรือเพื่อนสมาชิกอนุเคราะห์ว่าหากผมอยากเป็น loop ควรจะแก้อย่างไรดี
เพราะผมทำแบบนี้มัน hard code เกินใป แต่เนื่องจากความรู้ความสามารถยังค่อนข้างด้อยจึงขอรบกวนเพื่อนสมาขิกแนะนำด้วยครับ
ผมได้แนบตัวอย่างที่ทำมาด้วยครับ
่ขอรบกวนด้วยครับ
เอก
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#2

Post by snasui »

:D กรุณาลำดับการทำงานและแจ้งปัญหาที่เป็นมาด้วยครับ

ผมไม่ได้ใช้ Date Time Picker โปรดทำใจไว้ก่อนได้เลยว่าผมอาจจะหาสาเหตุให้ไม่ได้หากต้องคลิก Object ของ Date Time Picker ในการทดสอบครับ
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#3

Post by akekorn »

ครับผม แต่ผมขออยากขอความอนุเคราะห์ในข้อ 2 ครับว่าผมควรปรับ code อย่างไรให้ดูไม่เวิ่นเว้อครับผม
ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#4

Post by snasui »

:D Code นั้นชื่ออะไร อยู่ตรงไหน ต้องการทำอะไรกรุณาแจ้งมาด้วยครับ
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#5

Post by akekorn »

Sub holidays()
Dim score As Integer, result As String
Dim I As Integer
Select Case Weekday(DTPicker1.Value, vbMonday)
Case Is = 1
result = "วันจันทร์"
Case Is = 2
result = "วันอังคาร"
Case Is = 3
result = "วันพุธ"
Case Is = 4
result = "วันพฤหัสบดี"
Case Is = 5
result = "วันศุกร์"
Case Is = 6
result = "วันเสาร์"
Case Is = 7
result = "วันอาทิตย์"
Case Else
result = "NA"
End Select
If Month(UserForm1.DTPicker1) = 1 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันขึ้นปีใหม่ 1 มกราคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันขึ้นปีใหม่ 2 มกราคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 2 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 3 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันมาฆบูชา 1 มีนาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 4 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันจักรี 1 เมษายน " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันสงกรานต์ 13 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสงกรานต์ 16 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 5 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันแรงงาน 1 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันวิสาขบูชา 29 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 6 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้ไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 7 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันอาสาฬหบูชา 27 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันหยุดชดเชย ร.10 30 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 8 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันหยุดชดเชย ราชินี 13 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 9 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 10 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันหยุดชดเชยคล้ายวันสรรคต ร.9 15 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันปิยะมหาราช 23 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 11 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 12 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันประสูติร.9 5 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันรัฐธรรมนูญ 10 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสิ้นปี 31 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 1 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันขึ้นปีใหม่ 1 มกราคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 2 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันมาฆบูชา 19 กุมภาพันธ์ " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 3 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 4 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันจักรี 8 เมษายน " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันสงกรานต์ 15 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสงกรานต์ 16 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 5 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันแรงงาน 1 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันหยุดชดเชยวิสาขบูชา 20 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 6 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้ไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 7 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันอาสาฬหบูชา 16 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันคล้ายวันประสูติ ร.10 29 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 8 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันประสูติราชินี 12 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 9 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 10 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันสรรคต ร.9 14 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันปิยะมหาราช 23 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 11 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 12 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันประสูติร.9 5 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันรัฐธรรมนูญ 10 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสิ้นปี 31 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""

End If

End Sub
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#6

Post by akekorn »

อยากขอความอนุเคราะห์ครับจะปรับอย่างไรไม่ให้เวิ่นเว้อยืดยาว
ครับผม
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#7

Post by snasui »

:D กรุณาแก้ไขโพสต์ให้แสดงเป็น Code ด้วยครับ
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#8

Post by akekorn »

Sub holidays()
Dim score As Integer, result As String
Dim I As Integer
Select Case Weekday(DTPicker1.Value, vbMonday)
Case Is = 1
result = "วันจันทร์"
Case Is = 2
result = "วันอังคาร"
Case Is = 3
result = "วันพุธ"
Case Is = 4
result = "วันพฤหัสบดี"
Case Is = 5
result = "วันศุกร์"
Case Is = 6
result = "วันเสาร์"
Case Is = 7
result = "วันอาทิตย์"
Case Else
result = "NA"
End Select
If Month(UserForm1.DTPicker1) = 1 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันขึ้นปีใหม่ 1 มกราคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันขึ้นปีใหม่ 2 มกราคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 2 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 3 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันมาฆบูชา 1 มีนาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 4 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันจักรี 1 เมษายน " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันสงกรานต์ 13 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสงกรานต์ 16 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 5 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันแรงงาน 1 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันวิสาขบูชา 29 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 6 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้ไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 7 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันอาสาฬหบูชา 27 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันหยุดชดเชย ร.10 30 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 8 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันหยุดชดเชย ราชินี 13 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 9 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 10 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันหยุดชดเชยคล้ายวันสรรคต ร.9 15 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันปิยะมหาราช 23 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 11 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 12 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันประสูติร.9 5 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันรัฐธรรมนูญ 10 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสิ้นปี 31 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 1 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันขึ้นปีใหม่ 1 มกราคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 2 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันมาฆบูชา 19 กุมภาพันธ์ " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 3 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 4 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันจักรี 8 เมษายน " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันสงกรานต์ 15 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสงกรานต์ 16 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 5 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันแรงงาน 1 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันหยุดชดเชยวิสาขบูชา 20 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 6 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้ไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 7 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันอาสาฬหบูชา 16 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันคล้ายวันประสูติ ร.10 29 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 8 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันประสูติราชินี 12 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 9 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 10 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันสรรคต ร.9 14 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันปิยะมหาราช 23 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 11 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 12 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันประสูติร.9 5 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันรัฐธรรมนูญ 10 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสิ้นปี 31 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""

End If

End Sub
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#9

Post by akekorn »

Code: Select all

Sub holidays()
Dim score As Integer, result As String
Dim I As Integer
Select Case Weekday(DTPicker1.Value, vbMonday)
Case Is = 1
result = "วันจันทร์"
Case Is = 2
result = "วันอังคาร"
Case Is = 3
result = "วันพุธ"
Case Is = 4
result = "วันพฤหัสบดี"
Case Is = 5
result = "วันศุกร์"
Case Is = 6
result = "วันเสาร์"
Case Is = 7
result = "วันอาทิตย์"
Case Else
result = "NA"
End Select
If Month(UserForm1.DTPicker1) = 1 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันขึ้นปีใหม่ 1 มกราคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันขึ้นปีใหม่ 2 มกราคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 2 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 3 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันมาฆบูชา 1 มีนาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 4 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันจักรี 1 เมษายน " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันสงกรานต์ 13 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสงกรานต์ 16 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 5 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันแรงงาน 1 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันวิสาขบูชา 29 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 6 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้ไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 7 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันอาสาฬหบูชา 27 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันหยุดชดเชย ร.10 30 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 8 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันหยุดชดเชย ราชินี 13 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 9 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 10 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันหยุดชดเชยคล้ายวันสรรคต ร.9 15 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันปิยะมหาราช 23 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 11 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 12 And Year(UserForm1.DTPicker1) = 2018 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันประสูติร.9 5 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันรัฐธรรมนูญ 10 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสิ้นปี 31 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 1 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันขึ้นปีใหม่ 1 มกราคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 2 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันมาฆบูชา 19 กุมภาพันธ์ " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 3 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 4 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันจักรี 8 เมษายน " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันสงกรานต์ 15 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสงกรานต์ 16 เมษายน" & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 5 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันแรงงาน 1 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันหยุดชดเชยวิสาขบูชา 20 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 6 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้ไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 7 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันอาสาฬหบูชา 16 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันคล้ายวันประสูติ ร.10 29 กรกฎาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 8 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันประสูติราชินี 12 พฤษภาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 9 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 10 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันสรรคต ร.9 14 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันปิยะมหาราช 23 ตุลาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 11 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = ""
UserForm1.Label4 = ""
UserForm1.Label5 = ""
UserForm1.Label6 = ""
ElseIf Month(UserForm1.DTPicker1) = 12 And Year(UserForm1.DTPicker1) = 2019 Then
UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
UserForm1.Label3 = "วันคล้ายวันประสูติร.9 5 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label4 = "วันรัฐธรรมนูญ 10 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label5 = "วันสิ้นปี 31 ธันวาคม " & Year(UserForm1.DTPicker1)
UserForm1.Label6 = ""

End If

End Sub
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#10

Post by akekorn »

วางเป็น code แล้วครับผม
ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#11

Post by snasui »

:D ที่เขียนมาใช้ได้อยู่แล้วครับ และปกติถ้า Code ไม่มีปัญหาไม่จำเป็นต้องปรับครับ

ด้านล่างนี้เป็นการสร้างตัวแปรเพิ่มและ Clear Label ทิ้งเสียก่อน จากนั้นค่อยนำตัวแปรไปใช้และกำหนดค่าให้กับ Label เฉพาะที่เกี่ยวข้องกับเงื่อนไขนั้น ๆ

Code: Select all

Sub holidays()
    Dim score As Integer, result As String
    Dim I As Integer, mn As Integer, yr As Integer
    
    mn = Month(UserForm1.DTPicker1).Text
    yr = Year(UserForm1.DTPicker1).Text
    
    Select Case Weekday(DTPicker1.Value, vbMonday)
        Case Is = 1
            result = "วันจันทร์"
        Case Is = 2
            result = "วันอังคาร"
        Case Is = 3
            result = "วันพุธ"
        Case Is = 4
            result = "วันพฤหัสบดี"
        Case Is = 5
            result = "วันศุกร์"
        Case Is = 6
            result = "วันเสาร์"
        Case Is = 7
            result = "วันอาทิตย์"
        Case Else
            result = "NA"
    End Select
    UserForm1.Label2 = ""
    UserForm1.Label3 = ""
    UserForm1.Label4 = ""
    UserForm1.Label5 = ""
    UserForm1.Label6 = ""
    If mn = 1 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันขึ้นปีใหม่ 1 มกราคม " & yr
        UserForm1.Label4 = "วันขึ้นปีใหม่ 2 มกราคม " & yr
    ElseIf mn = 2 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
    ElseIf mn = 3 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันมาฆบูชา 1 มีนาคม " & yr
    ElseIf mn = 4 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันจักรี 1 เมษายน " & yr
        UserForm1.Label4 = "วันสงกรานต์ 13 เมษายน" & yr
        UserForm1.Label5 = "วันสงกรานต์ 16 เมษายน" & yr
    ElseIf mn = 5 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันแรงงาน 1 พฤษภาคม " & yr
        UserForm1.Label4 = "วันวิสาขบูชา 29 พฤษภาคม " & yr
    ElseIf mn = 6 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้ไม่มีวันหยุดนักขัตฤกษ์ "
    ElseIf mn = 7 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันอาสาฬหบูชา 27 กรกฎาคม " & yr
        UserForm1.Label4 = "วันหยุดชดเชย ร.10 30 กรกฎาคม " & yr
    ElseIf mn = 8 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันหยุดชดเชย ราชินี 13 พฤษภาคม " & yr
    ElseIf mn = 9 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
    ElseIf mn = 10 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันหยุดชดเชยคล้ายวันสรรคต ร.9 15 ตุลาคม " & yr
        UserForm1.Label4 = "วันปิยะมหาราช 23 ตุลาคม " & yr
    ElseIf mn = 11 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
    ElseIf mn = 12 And yr = 2018 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันคล้ายวันประสูติร.9 5 ธันวาคม " & yr
        UserForm1.Label4 = "วันรัฐธรรมนูญ 10 ธันวาคม " & yr
        UserForm1.Label5 = "วันสิ้นปี 31 ธันวาคม " & yr
    ElseIf mn = 1 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันขึ้นปีใหม่ 1 มกราคม " & yr
    ElseIf mn = 2 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี่มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันมาฆบูชา 19 กุมภาพันธ์ " & yr
    ElseIf mn = 3 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
    ElseIf mn = 4 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันจักรี 8 เมษายน " & yr
        UserForm1.Label4 = "วันสงกรานต์ 15 เมษายน" & yr
        UserForm1.Label5 = "วันสงกรานต์ 16 เมษายน" & yr
    ElseIf mn = 5 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันแรงงาน 1 พฤษภาคม " & yr
        UserForm1.Label4 = "วันหยุดชดเชยวิสาขบูชา 20 พฤษภาคม " & yr
    ElseIf mn = 6 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้ไม่มีวันหยุดนักขัตฤกษ์ "
    ElseIf mn = 7 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันอาสาฬหบูชา 16 กรกฎาคม " & yr
        UserForm1.Label4 = "วันคล้ายวันประสูติ ร.10 29 กรกฎาคม " & yr
    ElseIf mn = 8 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันคล้ายวันประสูติราชินี 12 พฤษภาคม " & yr
    ElseIf mn = 9 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
    ElseIf mn = 10 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันคล้ายวันสรรคต ร.9 14 ตุลาคม " & yr
        UserForm1.Label4 = "วันปิยะมหาราช 23 ตุลาคม " & yr
    ElseIf mn = 11 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนีไม่มีวันหยุดนักขัตฤกษ์ "
    ElseIf mn = 12 And yr = 2019 Then
        UserForm1.Label2 = "วันนี้เป็น " & result & "เดือนนี้มีวันหยุดนักขัตฤกษ์ "
        UserForm1.Label3 = "วันคล้ายวันประสูติร.9 5 ธันวาคม " & yr
        UserForm1.Label4 = "วันรัฐธรรมนูญ 10 ธันวาคม " & yr
        UserForm1.Label5 = "วันสิ้นปี 31 ธันวาคม " & yr
    End If
End Sub
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#12

Post by akekorn »

อ้อครับขอบคุณครับผม
akekorn
Bronze
Bronze
Posts: 416
Joined: Wed Mar 09, 2011 5:19 pm

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#13

Post by akekorn »

รบกวนอีกข้อครับคือตอนที่ form แสดง ผมไม่อยากให้ เห็นชีทด้านหลัง ลองใช้

Code: Select all

Private Sub UserForm_Click()
Sheet1.Visible = xlSheetHidden  ' หรือ ด้านล่าง
'Sheet1.Visible = xlSheetVeryHidden
Call holidays
End Sub
ก็จะเกิด error เพราะมันไม่สามารถซ่อนชีทเพียงชีทเดียวได้
ผมอยากขอคำแนะนำว่าควรใช้วิธีใด ในการแก้ไขปัญหานี้ครับ
ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอคำแนะนำโปรแกรม ตรวจสอบวันหยุดในปี

#14

Post by snasui »

:D ทำได้หลายวิธีครับ
  • สร้าง Object ขึ้นมาบัง ยกเลิกเมื่อทำงานเสร็จ
  • กำหนดรูปแบบให้เป็นสีทึบ ยกเลิกเมื่อทำงานเสร็จ
  • เพิ่มชีตขึ้นมาใหม่แล้ว Activate ชีตนั้น ลบทิ้งเมื่อทำงานเสร็จ
  • ฯลฯ
ลองเขียนมาสักวิธี ติดแล้วค่อยถามกันต่อครับ
Post Reply