Page 1 of 1

format วันที่ไม่เปลี่ยนให้อัตโนมัติ

Posted: Thu Jul 30, 2020 5:21 pm
by piman
สวัสดีครับ

เนื่องจากผมทำการรับข้อมูลผ่าน userform เขียนสูตร vba

ทีนี้ข้อมูลวันที่ ที่แสดงในตาราง ขึ้นเป็นข้อมูลตัวเลขด้านขวาแบบในรูปครับ จะต้องคลิ๊กเข้าไปในช่อง formula bar แล้วกด enter ก่อน format จึงจะเปลี่ยนเป็นแบบวันที่เต็มแบบด้านซ้ายในรูปครับ

ขอบคุณครับ

Re: format วันที่ไม่เปลี่ยนให้อัตโนมัติ

Posted: Thu Jul 30, 2020 8:31 pm
by snasui
:D แนบไฟล์ที่มี Code นั้นมาด้วยจะได้ช่วยดูได้ครับ

การที่ต้องมีการ Edit เสียก่อนค่าจึงจะเปลี่ยนเป็นวันที่เพราะเซลล์นั้นมีการจัดรูปแบบให้เป็น Text ลองจัดรูปแบบให้เป็น General เสียก่อนแล้วทดสอบการรัน Code ใหม่ หากค่ากลับมาเป็น Text อีกครั้งแสดงว่า Code มีการเปลี่ยน Format ของเซลล์ให้กลับไปเป็น Text

สำหรับการจัด Format ให้เป็น General ให้คลิกขวาในพื้นที่ที่ต้องการ > Format Cells > แถบ Number เลือก General

Re: format วันที่ไม่เปลี่ยนให้อัตโนมัติ

Posted: Sat Aug 01, 2020 11:37 am
by piman
สวัสดีครับ

Format ผมตั้งเป็น Date ไว้แล้วครับ แต่ที่ฝั่งซ้ายเปลี่ยน ฝั่งขวาไม่เปลี่ยน เพราะน่าจะหาเดือนที่ 31 ไม่เจอครับ มันเลยขึ้นเป็น Text ครับ

จากที่ผมเคยอ่านเจอ เวลากรอกวันที่ผ่าน Textbox ครับ Format จะเป็น เดือน/วัน/ปี ใช่ป่ะครับ

ผมลองเซ็ท Format ในช่อง Textbox แล้ว มันก็ยังเหมือนเดิมครับ รบกวนด้วยครับ

----> เริ่มจากเปิดไฟล์ แล้วกดปุ่มค้นหาครับ จะเข้าไปหน้า userform พิมพ์ชื่อในช่องค้นหา แล้วกดปุ่มค้นหาครับ วันที่ที่จะกรอกมีสองส่วนครับ คือ ในกรอบการประเมินทั้งสองกรอบด้านล่าง form ครับ <-------------

ขอบคุณครับ

Re: format วันที่ไม่เปลี่ยนให้อัตโนมัติ

Posted: Sat Aug 01, 2020 1:37 pm
by puriwutpokin
ลองปรับในส่วนนี้ครับ
และฝากช่วย โพสต์ ให้เป็นตามกฏข้อ 1 ด้วยครับ ไม่ ใช่คำแชท เช่น ป่ะ ให้ใช้เป็น เปล่า แทนครับ

Code: Select all

'Other code...
        Cells(y, 14) = Format(txtDateachs1.Value, "mm/dd/yyyy")
       ' txtDateachs1.Value = Format(txtDateachs1.Value, "mm/dd/yyyy")
        Cells(y, 15) = Format(txtDateachs1.Value, "mm/dd/yyyy")
      '  txtDateache1.Value = Format(txtDateache1.Value, "mm/dd/yyyy")
        
        Cells(y, 16) = valAch1_1.Value
        Cells(y, 17) = valAch1_2.Value
        Cells(y, 18) = valAch1_3.Value
        Cells(y, 19) = valAch1_4.Value
        
        Cells(y, 20) = weiAch1_1.Value
        Cells(y, 21) = weiAch1_2.Value
        Cells(y, 22) = weiAch1_3.Value
        Cells(y, 23) = weiAch1_4.Value
        
        Cells(y, 36) = Format(txtDatecaps1.Value, "mm/dd/yyyy")
       ' txtDatecaps1.Value = Format(txtDatecaps1.Value, "mm/dd/yyyy")
        Cells(y, 37) = Format(txtDatecaps1.Value, "mm/dd/yyyy")
      '  txtDatecape1.Value = Format(txtDatecape1.Value, "mm/dd/yyyy")
      'Other code...
      

Re: format วันที่ไม่เปลี่ยนให้อัตโนมัติ

Posted: Sat Aug 01, 2020 5:03 pm
by piman
ทำได้แล้วครับผม

ขอบคุณมากครับ