Page 1 of 1

สอบถาม Code ในการ Copy Range ข้อมูลจาก Sheet1 ไป Shee2

Posted: Sat Jun 11, 2016 10:44 am
by chutchas
คือว่า Sheet("Summary") ผมมีข้อมูลดังนี้
Column A : "Customer" - เป็นรายชื่อลูกค้า
Column ฺB : "Shipment No." - เป็นหมายเลข Shipment
Column C : "เลขที่ใบจ่ายสินค้า"
Column D : "Product" - เป็นชื่อสินค้า

ผมเขียน Code เพื่อให้ Fill ข้อมูลให้ Column A : ให้เหลือข้อมูลเฉพาะ "A"
และให้ Copy ข้อมูลใน Column B และ Column Dไปวางใน Sheet("CustomerA) โดย

ข้อมูล Column B (จากSheet ("Summary")) ไปวางที่ Column B (Sheet("CustomerA"))
ข้อมูล Column D (จากSheet ("Summary")) ไปวางที่ Column C (Sheet("CustomerA"))
แต่ Copy ไปวางไม่ได้อะครับ

ตัวอย่าง Code เดิม
Private Sub CommandButton1_Click()
Sheets("Summary").Select
Range("A1:D8").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$D$8").AutoFilter Field:=1, Criteria1:="A"

Range("B2:B8").Select
Selection.Copy

Sheets("CustomerA").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Sheets("Summary").Select
Range("D2:D8").Select
Selection.Copy

Sheets("CustomerA").Select
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub

Re: สอบถาม Code ในการ Copy Range ข้อมูลจาก Sheet1 ไป Shee2

Posted: Sat Jun 11, 2016 10:52 am
by snasui
:D ช่วยแนบไฟล์ตัวอย่างมาที่ฟอรัมนี้จะได้ช่วยทดสอบให้ได้ครับ

สำหรับการโพสต์ Code ให้ดูตัวอย่างในข้อ 5 ของกฎการใช้บอร์ดด้านบน จะได้สะดวกในการอ่าน สะดวกในการ Copy ไปทดสอบครับ

ระมัดระวังเรื่องการใช้ภาษาแชท เช่นคำว่า "อะครับ" ให้ใช้แค่ "ครับ" ก็พอครับ

Re: สอบถาม Code ในการ Copy Range ข้อมูลจาก Sheet1 ไป Shee2

Posted: Sat Jun 11, 2016 10:59 am
by chutchas
แนบไฟล์แล้วครับ
รบกวนด้วยครับ

Code: Select all

Private Sub CommandButton1_Click()
Sheets("Summary").Select
Range("A1:D8").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$D$8").AutoFilter Field:=1, Criteria1:="A"

Range("B2:B8").Select
Selection.Copy

Sheets("CustomerA").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Sheets("Summary").Select
Range("D2:D8").Select
Selection.Copy

Sheets("CustomerA").Select
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub

Re: สอบถาม Code ในการ Copy Range ข้อมูลจาก Sheet1 ไป Shee2

Posted: Sat Jun 11, 2016 11:08 am
by snasui
:D ควรแนบ Code มาในไฟล์ ไฟล์ที่จะแนบ Code ได้ต้องมีนามสกุล .xlsm เป็นอย่างน้อยจะได้สะดวกในการทดสอบครับ

ผมลองนำ Code ไปทดสอบกับไฟล์ที่แนบมาก็สามารถทำงานได้ ช่วยแจ้งปัญหามาด้วยว่า Code ทำงานผิดพลาดตรงไหน อย่างไร จะได้เข้าถึงปัญหาโดยไวครับ

Re: สอบถาม Code ในการ Copy Range ข้อมูลจาก Sheet1 ไป Shee2

Posted: Sat Jun 11, 2016 11:18 am
by chutchas
รบกวนอีกครั้งครับ
ผมลองทำแล้วขึ้น Error

Run-time error '1004':
Select method of Range class failed

Re: สอบถาม Code ในการ Copy Range ข้อมูลจาก Sheet1 ไป Shee2

Posted: Sat Jun 11, 2016 11:30 am
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Private Sub CommandButton1_Click()
    Sheets("Summary").Select
    Range("A1:D8").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$D$8").AutoFilter Field:=1, Criteria1:="A"
    
    Range("B2:B8").Select
    Selection.Copy
    
    Sheets("CustomerA").Select
    Sheets("CustomerA").Range("B2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    
    
    Sheets("Summary").Select
    Range("D2:D8").Select
    Selection.Copy
    
    Sheets("CustomerA").Select
    Sheets("CustomerA").Range("C2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    
End Sub
ควรจะแทรก Module เข้ามาใช้แทนการเขียน Code ลงในชีตนั้นๆ จะได้ไม่เกิดปัญหาลักษณะนี้ครับ

Re: สอบถาม Code ในการ Copy Range ข้อมูลจาก Sheet1 ไป Shee2

Posted: Sun Jun 12, 2016 6:01 pm
by chutchas
ขอบคุณมากครับ