Page 1 of 1

ขอสอบถามการกำหนดรูปแบบข้อความอันตโนมัน

Posted: Wed Jun 04, 2014 12:41 pm
by moosuper013
1.คือถ้าผมต้องการ ให้ TextBox แสดงข้อมูล แบบ อันตโนมัน ตามนี้ 2014060001 คำอธิบายคือ 2014 คือปีปัจจุบัน 06 คือเดือนปัจจุบัน 0001 คือลำดับที่มีการสมัครเข้ามาตามลำดับ ไม่ทราบว่าจะต้องเขียน สูตร VBA อย่าไรครับ
2.และมีการ นำข้อมูลจาก Form ที่กรอกข้อมูล ไปSave ในไฟล์ Excel อื่น จะต้องเขียนสูตรอย่างไรครับ

ขอบคุณครับ

Re: ขอสอบถามการกำหนดรูปแบบข้อความอันตโนมัน

Posted: Wed Jun 04, 2014 12:47 pm
by bank9597
:D ต้องเขียนมาเองก่อนเสมอครับ ติดส่วนไหน ค่อยปรับแก้กันไปเรื่อยๆครับ

Re: ขอสอบถามการกำหนดรูปแบบข้อความอันตโนมัน

Posted: Wed Jun 04, 2014 2:09 pm
by moosuper013
ขอบคุณครับ

Re: ขอสอบถามการกำหนดรูปแบบข้อความอันตโนมัน

Posted: Wed Jun 04, 2014 2:29 pm
by bank9597
:D ลองดูศึกษาตามไฟล์ตัวอย่างครับ ผมลองเขียนไว้

Re: ขอสอบถามการกำหนดรูปแบบข้อความอันตโนมัน

Posted: Thu Jun 05, 2014 10:37 am
by moosuper013
เรียน คุณBank9597

ขอบคุณมากครับสำหรับไฟล์ตัวอย่าง ขอบคุณมากครับสำหรับสูตร ถ้าผมต้องการเมื่อขึ้นเดือนใหม่ให้ทำการรันเลข 0000ใหม่ แบบนี้ต้องเขียน เงื่อนไขอย่างไรครับ

แล้วถ้าจะต้องการให้ทำการบันทึกข้าม workbook โดยไฟล์ไม่ต้องเปิดแบบนี้ ประมาณไหนครับ


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

Re: ขอสอบถามการกำหนดรูปแบบข้อความอันตโนมัน

Posted: Thu Jun 05, 2014 11:15 am
by bank9597
moosuper013 wrote:เรียน คุณBank9597

ขอบคุณมากครับสำหรับไฟล์ตัวอย่าง

แล้วถ้าจะต้องการให้ทำการบันทึกข้าม workbook โดยไฟล์ไม่ต้องเปิดแบบนี้ ประมาณไหนครับ
:D การบันทึกข้ามไฟล์ ซึ่งไฟล์ปลายทางปิดอยู่นั้น จะทำได้ยากมากครับ ต้องใช้พวก ADO เข้ามาช่วย ซึ่งต้องชำนาญ VBA มากๆ ถึงจะเขียนได้ครับ

ลองใช้วิธีสั่งให้เปิดไฟล์ แล้วบันทึกข้อมูล แล้วก็สั่งปิดไฟล์ แบบนี้จะสะดวกกว่าครับ

ไฟล์แนบ 2 ไฟล์ ให้นำไฟล์ data ไปไว้ในไดร์ฟ D ครับ แล้วทดสอบบันทึกข้อมูลในไฟล์ vba save closed file

Re: ขอสอบถามการกำหนดรูปแบบข้อความอันตโนมัน

Posted: Thu Jun 05, 2014 11:54 am
by moosuper013
ขอบคุณครับ

ต้องขอโทษครับพอดีผมไม่ได้แจ้ง ว่าถ้าต้องการดึงจาก textboxในหน้า Userform นี้จะต้องเพิ่มยังไงบ้างครับ

Re: ขอสอบถามการกำหนดรูปแบบข้อความอันตโนมัน

Posted: Thu Jun 05, 2014 11:57 am
by bank9597
moosuper013 wrote:ขอบคุณครับ

ต้องขอโทษครับพอดีผมไม่ได้แจ้ง ว่าถ้าต้องการดึงจาก textboxในหน้า Userform นี้จะต้องเพิ่มยังไงบ้างครับ
:D ผมให้วิธีการทั้ง 2 แบบไปแล้ว ที่เหลือ คุณต้องทำเองครับ ติอส่วนไหนค่อยถามมาเรื่อยๆครับ

Re: ขอสอบถามการกำหนดรูปแบบข้อความอันตโนมัน

Posted: Thu Jun 05, 2014 12:34 pm
by moosuper013
ผมรบกวนขอคำอธิบายตรงส่วนโค้ดด้วยได้หรือเปล่าครับ พอดีผมพึงเริ่มเขียน VBA ก่อนหน้านี้ ใช้แค่ C

Code: Select all

wss.Range("A2:D2") _
.Resize(wss.Range("E1"), 4).Copy  <<<<<ทำไหมต้องกำหนดค่าให้ E1 = 1 
exOpen.Sheets("data").Range("A" & Rows.Count) _
.End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
wss.Range("A2:D2").ClearContents
แค่เฉพาะโค้ตนี้ครับ

Re: ขอสอบถามการกำหนดรูปแบบข้อความอันตโนมัน

Posted: Thu Jun 05, 2014 12:42 pm
by bank9597
moosuper013 wrote:ผมรบกวนขอคำอธิบายตรงส่วนโค้ดด้วยได้หรือเปล่าครับ พอดีผมพึงเริ่มเขียน VBA ก่อนหน้านี้ ใช้แค่ C

Code: Select all

wss.Range("A2:D2") _
.Resize(wss.Range("E1"), 4).Copy  <<<<<ทำไหมต้องกำหนดค่าให้ E1 = 1 
exOpen.Sheets("data").Range("A" & Rows.Count) _
.End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
wss.Range("A2:D2").ClearContents
แค่เฉพาะโค้ตนี้ครับ
:D เพราะเราต้องการบันทึกแค่ 1 บันทัด

ที่จริงตรง E1 มีไว้นับจำนวนบรรทัดของข้อมูลที่เราต้องการ ในกรณีมีการบันทึกครั้งล่ะ 1 บรรทัด เราสามารถปรับโค๊ด :ard:
.Resize(wss.Range("E1"), 4).Copy เป็น :ard:
.Resize(1, 4).Copy

Re: ขอสอบถามการกำหนดรูปแบบข้อความอันตโนมัน

Posted: Thu Jun 05, 2014 5:51 pm
by moosuper013
อ๋อครับ ได้แล้วครับขอบคุณมากครับ