Page 1 of 1

การ save เพิ่มข้อมูลเดิม ด้วย VBA

Posted: Wed Jul 06, 2016 10:14 am
by Anucha_Nuam-on
ขอสอบถามครับ
พอดีผมสร้างไฟล์ที่ต้องการ search หาข้อมูลเสร็จแล้วให้เพิ่มการลงทะเบียนไปในรายชื่อที่มีอยู่ แต่ติดปัญหาว่าไม่สามารถเพิ่มข้อมูลต่อท้ายข้อมูลเดิมที่มีอยู่ได้ครับ
เช่น ผมต้องการเพิ่มการลงทะเบียน หมายเลข 11111 ใน sheet DataNamelist Culoum V-AF
แต่ติดปัญหาที่สูตร
Set rAll = .Range("a3", .Range("a" & Rows.Count).End(xlUp))
If Application.CountIf(rAll, frmWelfare.id_txtbox.Value) > 0 Then
iRow = Application.Match(CLng(frmWelfare.id_txtbox.Value), .Range("a:a"), 0)[/quote]
Else
iRow = rAll(rAll.Rows.Count).Row + 1
End If
ไม่ทราบว่าจะต้องแก้ไขสูตรอย่างไรครับ

Re: การ save เพิ่มข้อมูลเดิม ด้วย VBA

Posted: Wed Jul 06, 2016 5:45 pm
by snasui
:D จากที่ถามมานั้นไม่ต้องแก้ครับ เนื่องจาก Code นั้นเป็นการเขียนให้ค้นหาแล้ว Update ได้ด้วย

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

นอกจากนี้ การเขียน Code จะต้องโพสต์ให้เป็น Code ดูตัวอย่างตามกฎข้อ 5 ด้านบนครับ

Re: การ save เพิ่มข้อมูลเดิม ด้วย VBA

Posted: Fri Jul 08, 2016 8:23 am
by Anucha_Nuam-on
ขอโทษทีครับที่ผิดกฎเรื่องการเขียนโค๊ด
คือผมต้องการ Update ข้อมูลที่มีอยู่เดิมครับ (ในบันทัดเดียวกัน) ให้ดูจากรหัส แล้วทำการเพิ่มข้อมูลการลงทะเบียน คือหากผมพิมพ์ข้อมูลใน User Form ช่อง วันที่ลงทะเบียน ชื่อบุตรคนที่ 1,2,.....
ตอนนี้พอกดบันทึก แล้วจะขึ้น Run-time error'13': Type mismatch แล้วติดแถบสีเหลืองที่โค๊ด

Code: Select all

iRow = Application.Match(CLng(frmWelfare.id_txtbox.Value), .Range("a:a"), 0)
[/background]

ครับ

แต่ถ้าหากเป็นการเพิ่มรหัสใหม่สามารถเพิ่มได้เลยไม่ติดปัญหาครับ

Re: การ save เพิ่มข้อมูลเดิม ด้วย VBA

Posted: Fri Jul 08, 2016 9:12 am
by DhitiBank
ผมลองทดสอบแล้ว โค้ดรันได้ปกตินะครับ ผมลองใช้ id: 55555 และเพิ่มบุตร 2 คน แค่ติดตรงที่หากเป็นการ update ข้อมูลบุตรที่บันทึกจะไปอยู่บรรทัดสุดท้ายตลอดครับ ไม่ทราบว่าคุณ Anucha_Nuam-on ทดสอบโดยใช้เงื่อนไขแบบไหนถึงติดข้อผิดพลาดตรงนั้นครับ

สำหรับเรื่องการ update ข้อมูลไม่ตรงบรรทัด ลองปรับโค้ดใน Childsave_mode ตรงบรรทัด .cells(blank_row,... เป็น .cells(iRow,... ดูครับ

Re: การ save เพิ่มข้อมูลเดิม ด้วย VBA

Posted: Fri Jul 08, 2016 4:36 pm
by Anucha_Nuam-on
ขอบคุณครับ
เจอปัญหาแล้วครับ ที่ผมทดสอบคือ id 11111 ซึ่งผมลองแก้แล้วครับคือ รูปแบบของ cell ต้องเปลี่ยนให้เป็น Number เหมือนกัน ตอนนี้ใช้ได้สมบูรณ์แล้วครับ
ขอบคุณมากๆครับ