การ copy worksheet แล้วpasteใน workbookใหม่
Posted: Sun Jan 26, 2014 5:08 pm
พอดีเพิ่งเริ่มฝึกเขียน VBA ค่ะ คือจะเขียนสั่งโปรแกรมทำงาน
โดย เมื่อกดปุ่ม A แล้ว ให้เอา range M1 มาใส่ที่ A2 ในเวิร์กชีต Test.xlsm แล้ว นั้นเปิด workbookใหม่ copy Range("A1:H18") โดยให้ค่าในตารางที่copy มานั้น เป็น value แต่ตารางเป็นแบบเดิม ใส่ใน workbookใหม่ และทำการ save โดยชื่อ workbook name ตาม A2 (สีเหลือง )เนื่องจากในอนาคตจะใส่Loop เข้าไป และให้ชื่อตาม column M ที่ถูกดึงมาใส่ใน A2 ส่วนfileformat = .xls ธรรมดา แต่พยายามรันหลายทีก็ไม่ถูกต้องเลยค่ะ help me pls!!!!
code ตามนี้นะคะ รบกวนด้วยนะคะ
Sub CommandButton1_Click()
Dim AA As String
Dim wb As Workbooks
Set wk = Workbooks.Add
A = Cells(1, 13).Value
AA = Cells(8, 13).Value
MsgBox "Generate A."
Range("A2").Value = A
Worksheets(1).Range("A1:H18").Copy
wk.Activate
Activesheets.PasteSpecial Paste:=xlPasteAll
Activesheets.Range("A1:H18").Copy
Activesheets.PasteSpecial Paste:=xlPasteValues
wk.SaveAs Filename:=A.xls, FileFormat:=xlWorkbookNormal
End Sub
ขอบคุณผู้ใจงามล่วงหน้านะคะ

โดย เมื่อกดปุ่ม A แล้ว ให้เอา range M1 มาใส่ที่ A2 ในเวิร์กชีต Test.xlsm แล้ว นั้นเปิด workbookใหม่ copy Range("A1:H18") โดยให้ค่าในตารางที่copy มานั้น เป็น value แต่ตารางเป็นแบบเดิม ใส่ใน workbookใหม่ และทำการ save โดยชื่อ workbook name ตาม A2 (สีเหลือง )เนื่องจากในอนาคตจะใส่Loop เข้าไป และให้ชื่อตาม column M ที่ถูกดึงมาใส่ใน A2 ส่วนfileformat = .xls ธรรมดา แต่พยายามรันหลายทีก็ไม่ถูกต้องเลยค่ะ help me pls!!!!
code ตามนี้นะคะ รบกวนด้วยนะคะ
Sub CommandButton1_Click()
Dim AA As String
Dim wb As Workbooks
Set wk = Workbooks.Add
A = Cells(1, 13).Value
AA = Cells(8, 13).Value
MsgBox "Generate A."
Range("A2").Value = A
Worksheets(1).Range("A1:H18").Copy
wk.Activate
Activesheets.PasteSpecial Paste:=xlPasteAll
Activesheets.Range("A1:H18").Copy
Activesheets.PasteSpecial Paste:=xlPasteValues
wk.SaveAs Filename:=A.xls, FileFormat:=xlWorkbookNormal
End Sub
ขอบคุณผู้ใจงามล่วงหน้านะคะ