เรียนอาจาร์ยครับ
ผมต้องการ copy ข้าม workbookนะครับ
ขั้นตอนคือ
1.เรียกไฟล์ปลายทางเปิดไฟล์ ชื่อ OUTPUTFILE.xlsx ใน path Documents ครับ
2.ทำการ .Copy&Past
-Workbooks("INPUTFILE.xlsm").Worksheets("T1").copy = Workbooks("OUTPUTFILE.xlsx").Worksheets("T1").PasteSpecial
-Workbooks("INPUTFILE.xlsm").Worksheets("T2").copy = Workbooks("OUTPUTFILE.xlsx").Worksheets("T1").PasteSpecial
-Workbooks("INPUTFILE.xlsm").Worksheets("T3").copy = Workbooks("OUTPUTFILE.xlsx").Worksheets("T1").PasteSpecial
3.ทำการSAVE ไฟล์ Workbooks("INPUTFILE.xlsx").Save
4.ทำการSAVE ไฟล์ Workbooks("OUTPUTFILE.xlsm").Save
ปัญหาคือ
1.ผมเรียกไฟล์ ชื่อ OUTPUTFILE.xlsx ใน path Documents ไม่มาครับ
2.ไม่สามารถSAVEทัั้ง สองไฟล์ได้
3.การcopy &past ผมทำได้สำเร็จตาม code ครับ ขอ1 และ ข้อ2ไม่ทำงาน
ผมแนบCodeมาให้ด้วยนะครับ
ขอบพระคุณมากครับ
อาร์ต
---------------
Code: Select all
Private Sub CommandButton2_Click()
Const TARGETWORKBOOK As String = "OUTPUTFILE.xlsx"
Dim wbkTarget As Workbook
Set wbkTarget = Workbooks.Open(FileName:=ThisWorkbook.Path & "\" & TARGETWORKBOOK)
Dim wsCopy1 As Worksheet 'INPUTFILE
Dim wsCopy2 As Worksheet 'INPUTFILE
Dim wsCopy3 As Worksheet 'INPUTFILE
Dim wsDest1 As Worksheet 'OUTPUTFILE
Dim wsDest2 As Worksheet 'OUTPUTFILE
Dim wsDest3 As Worksheet 'OUTPUTFILE
Set wsCopy1 = Workbooks("INPUTFILE.xlsm").Worksheets("T1")
Set wsCopy2 = Workbooks("INPUTFILE.xlsm").Worksheets("T2")
Set wsCopy3 = Workbooks("INPUTFILE.xlsm").Worksheets("T3")
Set wsDest1 = Workbooks("OUTPUTFILE.xlsx").Worksheets("T1")
Set wsDest2 = Workbooks("OUTPUTFILE.xlsx").Worksheets("T2")
Set wsDest3 = Workbooks("OUTPUTFILE.xlsx").Worksheets("T3")
wsCopy1.Range("A:Z").Copy
wsDest1.Range("A:Z").PasteSpecial
wsCopy2.Range("A:Z").Copy
wsDest2.Range("A:Z").PasteSpecial
wsCopy3.Range("A:Z").Copy
wsDest3.Range("A:Z").PasteSpecial
Workbooks("INPUTFILE.xlsx").Save
Workbooks("OUTPUTFILE.xlsm").Save
End Sub