Page 1 of 1

การบันทึก วัน เดือน ปี ใน userform ให้ได้รูปแบบที่ต้องการ

Posted: Fri Sep 30, 2022 12:03 pm
by Questioner
เรียน อาจารย์ และผู้รู้ทุกท่านครับ

ผมมือใหม่เพิ่งเรียนรู้หัดใช้ VBA ในการสร้าง userform เพื่อบันทึกข้อมูล
เมื่อลองสร้าง Text box เพื่อบันทึก วัน เดือน ปี
ให้ได้รูปแบบ dd/mm/yyyy โดยใช้ code ตามคำแนะนำของอาจารย์จากกระทู้หนึ่งใน ฟอรัมนี้ได้ผลลัพท์รูปแบบ dd/mm/yyyy แต่พบปัญหาคือ

1. เมื่อบันทึก 1/1/2565 จะได้ผลลัพท์ใน sheet เป็น 1 ม.ค.08 ( พ.ศ.2565 กลายเป็น ค.ศ.3108)

2. วันที่ 13 ขึ้นไป เมื่อบันทึก 13/1/2565 จะได้ผลลัพท์ใน sheet เป็น 13/1/2565 (ไม่อยู่ในรูปแบบ 13 ม.ค. xx)

ผมใช้ Format Cells ตามรูปที่ให้มาครับ (ต้องการรูปแบบ>> วันที่ เดือน(ตัวย่อ) พุทธศักราช)

สามารถแก้ไขอย่างไรครับ ขอบพระคุณมากครับ

Re: การบันทึก วัน เดือน ปี ใน userform ให้ได้รูปแบบที่ต้องการ

Posted: Fri Sep 30, 2022 7:37 pm
by Questioner
ขออนุญาตแก้ไขข้อความครับ
1. เมื่อบันทึก 1/1/2565 จะได้ผลลัพท์ใน sheet เป็น 1 ม.ค.08 ( พ.ศ.2565 กลายเป็น ค.ศ.3108)
แก้ไขเป็น
1. เมื่อบันทึก 1/1/2565 จะได้ผลลัพท์ใน sheet เป็น 1 ม.ค.08 ( 2565 กลายเป็น พ.ศ.3108)
ขอบคุณมากครับ

Re: การบันทึก วัน เดือน ปี ใน userform ให้ได้รูปแบบที่ต้องการ

Posted: Fri Sep 30, 2022 8:21 pm
by snasui
:D ไม่ควรบันทึกเป็นปี พ.ศ. ลองบันทึกเป็นปี ค.ศ. ดูครับ

Re: การบันทึก วัน เดือน ปี ใน userform ให้ได้รูปแบบที่ต้องการ

Posted: Fri Sep 30, 2022 9:12 pm
by Questioner
ขอบพระคุณอาจารย์มากครับ ถ้าใช้งานจริงจะแจ้งให้ user บันทึกข้อมูลด้วย ค.ศ. ครับ
แต่ยังติดปัญหาข้อ 2 ครับ คือ
วันที่ 13 ขึ้นไปของทุกเดือน เมื่อบันทึก เช่น 13/1/2022 จะได้ผลลัพท์ใน sheet เป็น 13/1/2022 (ไม่อยู่ในรูปแบบ 13 ม.ค. 65 ซึ่งเป็นรูปแบบที่ต้องการให้อยู่ใน sheet )
มีวิธีแก้ไข หรือควรจะเขียน code และบันทึกอย่างไรจึงจะได้ผลลัพท์รูปแบบเดียวกันใน sheet ครับ
ขอบพระคุณมากครับ

Re: การบันทึก วัน เดือน ปี ใน userform ให้ได้รูปแบบที่ต้องการ

Posted: Fri Sep 30, 2022 9:43 pm
by snasui
:D ลองปรับเป็นด้านล่างครับ

Code: Select all

Private Sub CommandButton1_Click()
    Dim d As Date
    d = TextBox1.Text
    Do
        r = r + 1
    Loop Until Cells(r, 1) = ""
    Cells(r, 1) = ComboBox1.Text
    Cells(r, 2) = d
    'Cells(r, 2) = WorksheetFunction.Text(TextBox1.Value, "dd/mm/yyyy")
End Sub

Re: การบันทึก วัน เดือน ปี ใน userform ให้ได้รูปแบบที่ต้องการ

Posted: Sat Oct 01, 2022 3:51 pm
by Questioner
ขอเรียนว่า Code ที่ท่านอาจารย์ปรับให้มา สามารถแก้ปัญหาได้ทั้งข้อ1 และข้อ 2 เลยครับ
ขอขอบพระคุณท่านอาจารย์เป็นอย่างสูงครับ
Questioner