Page 1 of 1

code vba error

Posted: Fri Feb 10, 2017 5:19 pm
by rich37
รบกวนท่านๆทั้งหลายช่วยดูให้หน่อยครับ
ความต้องการคือ สั่ง copy ข้อมูลจาก ชีต Data ไปชีต Report โดยใช้ vba
ปัญหาเกิดตรงรันคำสั่ง ( กดปุ่มย้ายข้อมูล ) ตามไฟล์แนบ
error.png
error.png (3.48 KiB) Viewed 91 times
โดยที่ code ตามนี้ครับ
Private Sub CommandButton1_Click()
Range("A3:L82").Select
Selection.Copy
Sheets("Report").Select
Range("A3").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
พึ่งหัดใช้เลยไปไม่ถูกเลย รบกวนทุกๆท่านด้วยครับ

Re: code vba error

Posted: Fri Feb 10, 2017 7:16 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Private Sub CommandButton1_Click()
    Sheets("Data").Range("a3:L82").Copy Sheets("Report").Range("A3")
End Sub
การวาง Code ในช่องความเห็นนี้ควรวางให้เป็น Code อ่านกฎการใช้บอร์ดข้อ 5 ด้านบน :roll: ประกอบครับ

Re: code vba error

Posted: Fri Feb 10, 2017 7:46 pm
by rich37
snasui wrote::D ตัวอย่างการปรับ Code ครับ

Code: Select all

Private Sub CommandButton1_Click()
    Sheets("Data").Range("a3:L82").Copy Sheets("Report").Range("A3")
End Sub
การวาง Code ในช่องความเห็นนี้ควรวางให้เป็น Code อ่านกฎการใช้บอร์ดข้อ 5 ด้านบน :roll: ประกอบครับ
ขอโทษครับเรื่องการวาง Code ตอนนี้แก้ไขได้แล้วครับ

Code: Select all

Private Sub CommandButton1_Click()
    Range("Source").Copy
    Sheets("Report").Select
    Sheets("Report").Range("Target").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    
End Sub
แต่มีโจทก์ใหม่หลังจากลบข้อมูลใน ชีตData ( ข้อมูลที่ copy จาก data ไป Report มาจาก Filter วันที่ครบกำหนด ออกมาแล้ว พอลบข้อมูลพวกนี้ทิ้งจะทำให้เกิดช่องว่าง )ช่วยกรุณาแนะนำ Code ที่จัดการลบแถวว่างให้หน่อยครับ

Re: code vba error

Posted: Fri Feb 10, 2017 7:58 pm
by snasui
:D กรณีที่ต้องการลบข้อมูลทิ้ง ให้ลบทิ้งทั้งบรรทัดไม่ควรลบเฉพาะค่าเพราะจะทำใหเกิดบรรทัดว่างครับ

คลุมข้อมูลที่ได้ > คลิกขวา > Delete > Entirerow

Re: code vba error

Posted: Fri Feb 10, 2017 8:13 pm
by rich37
snasui wrote::D กรณีที่ต้องการลบข้อมูลทิ้ง ให้ลบทิ้งทั้งบรรทัดไม่ควรลบเฉพาะค่าเพราะจะทำใหเกิดบรรทัดว่างครับ

คลุมข้อมูลที่ได้ > คลิกขวา > Delete > Entirerow
ขอบคุณครับ ต้องการลบทั้งบรรทัดครับ แต่บรรทัดที่ว่างมีหลายตัวครับ จึงต้องการดึงข้อมูลบรรทัดที่เหลือขึ้นมาต่อกันตามตัวอย่างที่แนบใหม่ครับ

Re: code vba error

Posted: Fri Feb 10, 2017 10:46 pm
by snasui
:D ให้บันทึก Macro การลบทั้งบรรทัดทิ้งแล้วปรับใช้ดูก่อน ติดตรงไหนค่อยถามกันต่อครับ

การลบบรรทัดว่างให้ตลุมพื้นที่ที่ต้องการ > กดแป้น F5 > Special > Blanks > OK > คลิกขวาเซลล์ที่ถูกเลือก > Delete > Entirerow > OK

Re: code vba error

Posted: Sat Feb 11, 2017 12:55 am
by rich37
snasui wrote::D ให้บันทึก Macro การลบทั้งบรรทัดทิ้งแล้วปรับใช้ดูก่อน ติดตรงไหนค่อยถามกันต่อครับ

การลบบรรทัดว่างให้ตลุมพื้นที่ที่ต้องการ > กดแป้น F5 > Special > Blanks > OK > คลิกขวาเซลล์ที่ถูกเลือก > Delete > Entirerow > OK
สำเร็จไปด้วยดีแล้ว ขอบคุณมากครับ