Page 1 of 1
ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Thu Jan 23, 2014 5:42 pm
by Naikalonll
มีส่วนการกรอกข้อมูลอยู่ส่วนหนึ่ง ทำโดย CheckBox ถ้าเลือกถูกให้ไปขึ้นเลขหนึ่งอีกชีท ทำ CheckBox เรียงลงมา10 อัน ทำไป 5 แถว เพื่อเป็นฐานข้อมูล
แล้ว อัดมาโคร ก๊อบปี้แถวเพิ่ม ปัญหาคือ จะแก้ไขฐานข้อมูลเก่าไม่ได้ ถ้าไม่เพิ่มแถวก่อน ต้องเขียนโค้ดยังไงให้ แก้ไขข้อมูลพื้นฐานได้แล้วค่อยเพิ่มแถวแล้วแก้ไขได้โดยการกดบันทึกครั้งเดียว
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Thu Jan 23, 2014 7:34 pm
by joo

แนบไฟล์พร้อมอธิบายปัญหาและยกตัวอย่างมาด้วยครับ
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Sun Jan 26, 2014 1:48 am
by Naikalonll
1.ต้องการปรับเปลี่ยนฐานข้อมูลเดิม แค่ให้เลือกใช้เครื่่องหมายถูกแล้วให้ไปบันทึกข้อมูลใน sheet1
2.สามารถเพิ่มข้อมูลโดยผ่านเครื่องมายบวกได้ และให้เพิ่ม cell ใน sheet 1 และสามารถเปลี่ยนแปลงข้อมูลได้ โดยผ่านปุ่มบันทึกข้อมูลเดียวกัน
รบกวนช่วยหน่อยนะคะ
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Sun Jan 26, 2014 1:52 am
by Naikalonll
help.rar
joo wrote:
แนบไฟล์พร้อมอธิบายปัญหาและยกตัวอย่างมาด้วยครับ
1.ต้องการปรับเปลี่ยนฐานข้อมูลเดิม แค่ให้เลือกใช้เครื่่องหมายถูกแล้วให้ไปบันทึกข้อมูลใน sheet1
2.สามารถเพิ่มข้อมูลโดยผ่านเครื่องมายบวกได้ และให้เพิ่ม cell ใน sheet 1 และสามารถเปลี่ยนแปลงข้อมูลได้ โดยผ่านปุ่มบันทึกข้อมูลเดียวกัน
รบกวนช่วยหน่อยนะคะ
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Sun Jan 26, 2014 8:30 am
by snasui

ลองตามนี้ครับ
- ลบ CheckBox ที่ Sheet2 เดิมออกทั้งหมด
- คลุมพื้นที่ที่ต้องการสร้าง CheckBox
- Run Code ตามด้านล่าง
Code: Select all
Sub test()
Dim rAll As Range
Dim r As Range
Dim obj As Object
With Sheets("Sheet2")
Set rAll = Selection
End With
For Each r In rAll
Set obj = ActiveSheet.CheckBoxes.Add(r.Left, r.Top, 24, 17.25)
With obj
.LinkedCell = r.Address
.Characters.Text = ""
.Top = r.Top + r.Height / 2 - obj.Height / 2
.Left = r.Left + r.Width / 2 - obj.Width / 2
End With
Next r
End Sub
- ปรับ Font ใน Sheet2 ตรง CheckBox ให้เป็นสีพื้น
- ที่ Sheet1 เซลล์ B3 คีย์
=Sheet2!C3+0
Enter > Copy ไปด้านขวาและลงด้านล่าง
- ทดสอบเลือก CheckBox ใน Sheet2 แล้วสังเกตดูผล
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Mon Jan 27, 2014 1:36 am
by Naikalonll
ขอบคุณค่าเด่วจะลองทำตามดูนะคะ
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Mon Jan 27, 2014 12:53 pm
by snasui
Naikalonll wrote:ขอบคุณค่าเด่วจะลองทำตามดูนะคะ

อ่านกฎทุกข้อด้านบน

และปฏิบัติตามด้วยครับ
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Tue Jan 28, 2014 6:32 pm
by Naikalonll
snasui wrote:Naikalonll wrote:ขอบคุณค่าเด่วจะลองทำตามดูนะคะ

อ่านกฎทุกข้อด้านบน

และปฏิบัติตามด้วยครับ
คำสั่งเก่าทำได้แล้วค่า
ต่อไปอยากจะให้กดปุ่มเพื่อเพิ่มข้อมูลได้อีกหลายคอลัม แล้วไปเพิ่มฐานข้อมูลในชีท1ด้วยค่ะ (สามารถเพิ่มเติมข้อมูลได้)
ช่วยหน่อยนะคะ
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Tue Jan 28, 2014 8:49 pm
by snasui
Naikalonll wrote:คำสั่งเก่าทำได้แล้วค่า

ถ้าเขียนคำว่า "ค่า" แทน "ค่ะ" มาอีกรอบโดนแบนนะครับ ขอให้เขียนแก้ไขข้อความเดิมให้ถูกต้องก่อนครับ
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Wed Jan 29, 2014 12:20 am
by Naikalonll
snasui wrote:Naikalonll wrote:คำสั่งเก่าทำได้แล้วค่า

ถ้าเขียนคำว่า "ค่า" แทน "ค่ะ" มาอีกรอบโดนแบนนะครับ ขอให้เขียนแก้ไขข้อความเดิมให้ถูกต้องก่อนครับ
ขอโทษค่ะ
คำสั่งเก่าทำได้แล้วค่ะ
ต่อไปอยากจะให้กดปุ่มเพื่อเพิ่มข้อมูลได้อีกหลายคอลัม แล้วไปเพิ่มฐานข้อมูลในชีท1ด้วยค่ะ (สามารถเพิ่มเติมข้อมูลได้)
ช่วยหน่อยนะคะ
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Wed Jan 29, 2014 2:01 pm
by snasui

Code ต้องเขียนมาเอง ติดตรงไหนแล้วค่อยถามกันตามกฎการใช้บอร์ดข้อ 5 ด้านบน

ที่ผมเขียนไปให้ด้านบนเพราะถือว่าได้พยายามเขียนมาเองแล้ว
สิ่งที่ต้องการจะทำตามที่ถามมานั้นไม่ได้ถือว่าเป็นเรื่องยากเพราะว่าใช้ Code ที่ผมเขียนไว้มาช่วยได้ในกรณีเป็นเพิ่ม CheckBox ใน Sheet2
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Thu Feb 13, 2014 5:05 pm
by Naikalonll
ลองเขียนดูแล้วค่ะ แต่ตัวเลข 0 ,1 ในชีท2 ที่คำสั่งจาก check box ยังเปลี่ยนไม่ได้ค่ะ
1.ต้องการแทรกแถว แล้วให้มี Check Box แล้ว ถ้า Check True =1 , Check False =0 ใน ชีทที่2
2.ต้องการให้แทรกแถวได้ตลอดค่ะ
3. ติดปัญหาตรงที่ยัง เปลี่ยนเป็นเลข 0,1
ในชีท2 ไม่ได้ค่ะ
Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล
Posted: Thu Feb 13, 2014 6:09 pm
by snasui

ที่เปลียนค่าจาก False เป็น 0 และ True เป็น 1 ไม่ได้เพราะเขียนสูตรผิดครับ
ใน Sheet2 เซลล์ E1 จะใช้สูตร
=Sheet
2!E1+0
ไม่ได้ครับ เป็นการอ้างเซลล์ของตัวเอง
สูตรควรเป็น
=Sheet
1!E1+0
ส่วนการแทรกแถว สามารถลบ CheckBox ทุกอันทิ้งไปก่อนแล้วสร้างใหม่ทั้งหมดด้วย Code เดิมทีผมเขียนไว้ให้
เราสามารถคลุมพื้นที่ที่ต้องการแล้วค่อย Run Code ไม่ได้เป็นการกำหนดพื้นที่ที่ไว้ล่วงหน้า จะเลือกสร้างที่เซลล์ไหน เว้นหรือไม่เว้นบรรทัดก็ย่อมได้