Page 1 of 1

format textbox ไม่ได้

Posted: Sun Aug 12, 2012 2:25 pm
by meepin
ปัญหาการ format textbox
ใน userform ในสมุดใหม่ run ผ่าน ครับ
แต่ในสมุดงานอันเดิมกลับ run ไม่ผ่าน ติดตรง format รบกวนผู้รู้ช่วยตอบทีครับว่าจะแก้ยังไง ตาม code นี้ครับ

Private Sub CommandButton1_Click()
Dim strDte As String
strDte = Format(Me.TB02.Value, "DD/MM/YY")
Sheet1.Range("A3") = TB02
Sheet1.Range("A3").Select
Selection.TextToColumns Destination:=Range("A3"), DataType:=xlFixedWidth, _
FieldInfo:=Array(0, 1), TrailingMinusNumbers:=True
Unload Me
End Sub
ขอบคุณล่วงหน้าครับ

Re: format textbox ไม่ได้

Posted: Sun Aug 12, 2012 3:39 pm
by snasui
:D ก่อนที่จะจัด Format ไม่ทราบว่าค่าใน TB02 รับมาจากไหน รับมาตอนไหนครับ

Re: format textbox ไม่ได้

Posted: Sun Aug 12, 2012 6:52 pm
by bank9597
:D ผมขอศึกษาด้วยคนน่ะครับ

Re: format textbox ไม่ได้

Posted: Mon Aug 13, 2012 5:05 pm
by meepin
snasui wrote::D ก่อนที่จะจัด Format ไม่ทราบว่าค่าใน TB02 รับมาจากไหน รับมาตอนไหนครับ
ออกตัวก่อนเลยนะครับอาจารย์ จริงๆแล้วผมไม่มีพื้นฐาน vba มาก่อน พอลองใช้งาน excel ใช้สูตรทั่วไปแล้วเกิดมีความสนใจ vba
จึงลองค้นข้อมูลใน internet ดู code จากคนอื่นบ้าง ดัดแปลงบ้าง บันทึกแมโครบ้าง จึงไม่รู้ว่าจะตอบอาจารย์ยังไง รับจากไหน ตอนไหน ขอโทษด้วยครับ
เข้าคำถามเลยนะครับ สิ่งที่ต้องการคือเวลาเปิดสมุดงาน อยากให้ผู้ใช้เลือกบันทึกวันที่ โดยผมสร้าง Form ขึ้นมา แล้วใช้ textbox
ให้ผู้ใช้ได้บันทึกข้อมูลวันที่กรณีที่อยากระบุวันที่เอง และ มีปุ่ม Auto เพื่อให้ run วันที่ อัตโนมัติ แต่ปัญหามีอยู่ว่า สมมุติเราบันทึกวันที่ 12/8/2555
มันดันกลายเป็น วันที่ 8 ธันวาคม 2555 ซึ่งเดือนขึ้นก่อนวัน ทีนี้ผมก็ไปค้นหา code ที่จะ format วันที่ใน textbox (มี code หลายแบบ)
มาใช้ ปรากฏว่า run ไม่ผ่านครับ ก็เลยลองสร้างสมุดงานเปล่าๆขึ้นมาใหม่แล้ว ทำเหมือนเดิม ปรากฏว่า run ผ่านครับ
ก็เลยเกิดคำถามว่าเพราะอะไร จะทำใหม่คงไม่ได้เพราะสมุดงานเดิมมีข้อมูลเยอะมากและก็มีการอ้างอิง Sheet ทุก Sheet โดยเฉพาะ Sheet หลัก
ที่อ้างอิงวันที่จาก sheet นี้ทั้งหมด
เคยลองจะใช้ปฏิทินแทน แต่หายังไงก็ไม่เจอ (excel 2010)
หรืออาจารย์มีวิธีที่ง่ายกว่านี้หรือเปล่าครับ
ขอบพระคุณอาจารย์ล่วงหน้า

Re: format textbox ไม่ได้

Posted: Mon Aug 13, 2012 6:00 pm
by snasui
:D
meepin wrote:อยากให้ผู้ใช้เลือกบันทึกวันที่ โดยผมสร้าง Form ขึ้นมา แล้วใช้ textbox
ให้ผู้ใช้ได้บันทึกข้อมูลวันที่กรณีที่อยากระบุวันที่เอง และ มีปุ่ม Auto เพื่อให้ run วันที่ อัตโนมัติ แต่ปัญหามีอยู่ว่า สมมุติเราบันทึกวันที่ 12/8/2555
มันดันกลายเป็น วันที่ 8 ธันวาคม 2555 ซึ่งเดือนขึ้นก่อนวัน ทีนี้ผมก็ไปค้นหา code ที่จะ format วันที่ใน textbox (มี code หลายแบบ)
มาใช้ ปรากฏว่า run ไม่ผ่านครับ
ลองสร้างใหม่ให้มี 3 ComboBox คือเลือกวัน เลือกเดือน เลือกปี แทนการคีย์เข้าไปเอง จากนั้นเราค่อยนำข้อมูลจาก 3 ComboBox นี้มาใช้ จะเป็น วัน เดือน ปี หรือ เดือน วัน ปี ก็น่าจะสะดวกในการใช้งานมากกว่ากำหนดให้ผู้ใช้คีย์ตัวเลข วันเดือนปี เข้าไปเองครับ

การเขียน Code ให้นำไปใช้ในเซลล์ก็เช่น

Code: Select all

Range("A1") = DateSerial(ComboBox3.Text, ComboBox2.Text, ComboBox1.Text)

Re: format textbox ไม่ได้

Posted: Mon Aug 13, 2012 8:11 pm
by meepin
ลองสร้างใหม่ให้มี 3 ComboBox คือเลือกวัน เลือกเดือน เลือกปี แทนการคีย์เข้าไปเอง จากนั้นเราค่อยนำข้อมูลจาก 3 ComboBox นี้มาใช้ จะเป็น วัน เดือน ปี หรือ เดือน วัน ปี ก็น่าจะสะดวกในการใช้งานมากกว่ากำหนดให้ผู้ใช้คีย์ตัวเลข วันเดือนปี เข้าไปเองครับ

การเขียน Code ให้นำไปใช้ในเซลล์ก็เช่น

Code: Select all

Range("A1") = DateSerial(ComboBox3.Text, ComboBox2.Text, ComboBox1.Text)
จะลองดูครับ ลืมไปว่ามีวิธีนี้ด้วย
ขอบพระคุณอาจารย์มากครับ