Page 1 of 1

สอบถามฟอร์มปฏิทินครับ

Posted: Sat Jan 02, 2021 5:42 pm
by thanadul0816
ปฏิทิน ที่อยู่ในไฟล์นี้ ทำยังไงให้ใช้งานได้ครับ

หรือมี
วิธีการแบบอื่นไหมครับ ที่เป็น popup ปฏิทินครับ

Re: สอบถามฟอร์มปฏิทินครับ

Posted: Sat Jan 02, 2021 9:24 pm
by snasui
:D สามารถสร้างปุ่มขึ้นมาเรียกใช้ Calendar ได้ ดูคำอธิบายในชีต Using GetDate Function ประกอบซึ่งจะมีการ Protect เอาไว้ สามารถยกเลิกการ Protect โดยคลิกขวาที่แถบชีตแล้วเลือก Unprotect

ยกตัวอย่างต้องการใช้งาน Calendar ตัว Basic สามารถสร้างปุ่มขึ้นมาแล้ว Assign Macro ให้เรียก Procedure ที่ชื่อว่า BasicCalendar ตามด้านล่าง

Code: Select all

Sub BasicCalendar()
    dateVariable = CalendarForm.GetDate
    If dateVariable <> 0 Then Range("H16") = dateVariable
End Sub
เปลี่ยน Range("H16") = dateVariable เป็นตำแหน่งเซลล์ใด ๆ ที่ต้องการให้แสดงผลลัพธ์

Re: สอบถามฟอร์มปฏิทินครับ

Posted: Sat Jan 02, 2021 11:18 pm
by thanadul0816
อ๋อเข้าใจแล้ว ขอบคุณครับ

สอบถามเพิ่มเติมครับ ถ้าหากเราจะเอามาใช้ใน userform ต้องแก้ตรงนี้ว่าอะไรครับ

Code: Select all

SelectedDate:=Range("H34").value, _

Code: Select all

If dateVariable <> 0 Then Range("H34") = dateVariable

Code: Select all

Sub AdvancedCalendar()
    dateVariable = CalendarForm.GetDate( _
        SelectedDate:=Range("H34").value, _
        FirstDayOfWeek:=Monday, _
        DateFontSize:=12, _
        TodayButton:=True, _
        OkayButton:=True, _
        ShowWeekNumbers:=True, _
        BackgroundColor:=RGB(243, 249, 251), _
        HeaderColor:=RGB(147, 205, 2221), _
        HeaderFontColor:=RGB(255, 255, 255), _
        SubHeaderColor:=RGB(223, 240, 245), _
        SubHeaderFontColor:=RGB(31, 78, 120), _
        DateColor:=RGB(243, 249, 251), _
        DateFontColor:=RGB(31, 78, 120), _
        TrailingMonthFontColor:=RGB(155, 194, 230), _
        DateHoverColor:=RGB(223, 240, 245), _
        DateSelectedColor:=RGB(202, 223, 242), _
        SaturdayFontColor:=RGB(0, 176, 240), _
        SundayFontColor:=RGB(0, 176, 240), _
        TodayFontColor:=RGB(0, 176, 80))
    If dateVariable <> 0 Then Range("H34") = dateVariable
End Sub

Re: สอบถามฟอร์มปฏิทินครับ

Posted: Sat Jan 02, 2021 11:49 pm
by thanadul0816
หรือว่าผมจะฝากค่าที่ได้ไว้ใน sheet1 Cell ที่ H35
แล้วให้TextBox1 แสดงค่าจาก Cell H35 ครับ

Code: Select all

Private Sub CommandButton2_Click()
UserForm1.TextBox1 = Sheets("Sheet1").Range("H34")
TextBox1.value = Format(TextBox1.value, "dd/mm/yyyy")
End Sub
ตามไฟล์แนบที่ Sheet1 นะครับ

Re: สอบถามฟอร์มปฏิทินครับ

Posted: Sun Jan 03, 2021 5:54 am
by snasui
:D กรณีต้องการให้แสดงวันที่ใน TextBox1 ของ UserForm1 สามารถเพิ่ม Code เป็นตามด้านล่างครับ

Code: Select all

Sub AdvancedCalendar()
    dateVariable = CalendarForm.GetDate( _
        'Other code
    If dateVariable <> 0 Then UserForm1.TextBox1.Text = Format(dateVariable, "dd/mm/yyyy")
End Sub
แต่หากต้องการจะนำไปใช้ในที่อื่น ๆ ได้โดยสะดวกสามารถจะเก็บค่าไว้ในเซลล์ใด ๆ ก่อนแล้วค่อยนำมาใช้ หรือประกาศตัวแปรเป็นระดับ Public แล้วเก็บค่าไว้ในตัวแปรนั้นแล้วค่อยนำมาใช้ก็ได้เช่นกันครับ

Re: สอบถามฟอร์มปฏิทินครับ

Posted: Sun Jan 03, 2021 7:15 am
by thanadul0816
ขอบคุณครับ
ง่ายขึ้นเยอะเลย