Page 1 of 1
อยากแยกแต่ละ sheet ใน excel ประมาณ 30 sheet ออกเป็นแต่ละไฟล์ ครับ โดยที่แยก มาแล้ว สูตรMacro เดิม ยังสามารถใช้ได้ อยู่
Posted: Wed May 17, 2017 10:00 am
by rong8182
รบกวนสอบถามครับ พอดีติดปัญหา ครับ พอแยกเป็นไฟล์ ได้แล้ว แต่สูตรเดิม ไม่ตามมาครับ
อยากแยกแต่ละ sheet ใน excel ประมาณ 30 sheet ออกเป็นแต่ละไฟล์ ครับ โดยที่แยก มาแล้ว สูตรMacro เดิม ยังสามารถใช้ได้ อยู่ ครับ
สูตร Macro จากไฟล์ เดิม
Sub Auto_Open()
Application.ScreenUpdating = False
For Each ws In Sheets
With ws
.Unprotect Password:="SumProduct"
.Protect Password:="SumProduct", UserInterfaceOnly:=True
.EnableOutlining = True
End With
Next ws
Application.ScreenUpdating = True
End Sub
สูตรแยก ไฟล์ ครับ
Sub test()
Dim n As Integer
For n = 1 To Sheets.Count - 1
Windows("ใช้ตามชื่อไฟล์.xlsm").Activate
ActiveSheet.Select
ActiveSheet.Move
Next n
End Sub
Re: อยากแยกแต่ละ sheet ใน excel ประมาณ 30 sheet ออกเป็นแต่ละไฟล์ ครับ โดยที่แยก มาแล้ว สูตรMacro เดิม ยังสามารถใช้ได้ อย
Posted: Wed May 17, 2017 10:16 am
by puriwutpokin
ควรแนบไฟล์ตัวอย่างพร้อมโค้ด มาด้วยครับ แล้วติดที่โค้ดใด ให้แจ้งพร้อมตัวอย่างที่แจ้งครับ
Re: อยากแยกแต่ละ sheet ใน excel ประมาณ 30 sheet ออกเป็นแต่ละไฟล์ ครับ โดยที่แยก มาแล้ว สูตรMacro เดิม ยังสามารถใช้ได้ อย
Posted: Wed May 17, 2017 10:54 am
by rong8182
ผมได้แนบไฟล์มาให้ ครับ
จากตัวอย่าง ผมต้องการแยกไฟล์ โดยให้ สูตร Macro เดิมยังอยู่ ต้องทำอย่างไรหรอครับ
ผมให้สูตรแยกไฟล์ ดังนี้
สูตรแยก ไฟล์ ครับ
Sub test()
Dim n As Integer
For n = 1 To Sheets.Count - 1
Windows("book1.xlsm").Activate
ActiveSheet.Select
ActiveSheet.Move
Next n
End Sub
Re: อยากแยกแต่ละ sheet ใน excel ประมาณ 30 sheet ออกเป็นแต่ละไฟล์ ครับ โดยที่แยก มาแล้ว สูตรMacro เดิม ยังสามารถใช้ได้ อย
Posted: Wed May 17, 2017 11:17 am
by puriwutpokin
เท่าที่ทราบถ้าต้องการให้ Sheet ที่ Move ไปมีโค้ดไปด้วย คงต้องใส่โค้ดไว้ในชีทนั้นๆเลยครับ คงไม่สามารถ นำ Module ไปได้จากการ Move
ครับ
Re: อยากแยกแต่ละ sheet ใน excel ประมาณ 30 sheet ออกเป็นแต่ละไฟล์ ครับ โดยที่แยก มาแล้ว สูตรMacro เดิม ยังสามารถใช้ได้ อย
Posted: Wed May 17, 2017 11:36 am
by rong8182
รบกวนช่วยแนะนำหน่อย ครับ ว่าต้องทำยังไง ครับ
Re: อยากแยกแต่ละ sheet ใน excel ประมาณ 30 sheet ออกเป็นแต่ละไฟล์ ครับ โดยที่แยก มาแล้ว สูตรMacro เดิม ยังสามารถใช้ได้ อย
Posted: Wed May 17, 2017 1:52 pm
by pong2532
1.Export Module1 ไปเก็บไว้ก่อน
2.แทรก Code Import Module1.bas
ตัวอย่าง Code ครับ
Code: Select all
Sub test()
Dim n As Integer
For n = 1 To Sheets.Count - 1
Windows("ใช้ตามชื่อไฟล์.xlsm").Activate
ActiveSheet.Select
ActiveSheet.Move
Application.VBE.ActiveVBProject.VBComponents.import "C:\test\Module1.bas"
Next n
End Sub
Re: อยากแยกแต่ละ sheet ใน excel ประมาณ 30 sheet ออกเป็นแต่ละไฟล์ ครับ โดยที่แยก มาแล้ว สูตรMacro เดิม ยังสามารถใช้ได้ อย
Posted: Wed May 17, 2017 4:50 pm
by rong8182
โทดนะคับ
Export Module1 ไปเก็บไว้ก่อน นี่ทำยังไงหรอครับ
Re: อยากแยกแต่ละ sheet ใน excel ประมาณ 30 sheet ออกเป็นแต่ละไฟล์ ครับ โดยที่แยก มาแล้ว สูตรMacro เดิม ยังสามารถใช้ได้ อย
Posted: Wed May 17, 2017 8:28 pm
by puriwutpokin
ปรับโค้ดตามนี้ครับ
Code: Select all
Sub test()
Dim fName As String
Dim n As Integer
fName = "Module1.bas"
ThisWorkbook.VBProject.VBComponents("Module1").Export fName
For n = 1 To Sheets.Count - 1
ThisWorkbook.Activate
ActiveSheet.Select
ActiveSheet.Move
ActiveWorkbook.VBProject.VBComponents.Import fName
Next n
End Sub
Re: อยากแยกแต่ละ sheet ใน excel ประมาณ 30 sheet ออกเป็นแต่ละไฟล์ ครับ โดยที่แยก มาแล้ว สูตรMacro เดิม ยังสามารถใช้ได้ อย
Posted: Thu May 18, 2017 9:12 am
by rong8182
ขอบคุณ ครับ
Re: อยากแยกแต่ละ sheet ใน excel ประมาณ 30 sheet ออกเป็นแต่ละไฟล์ ครับ โดยที่แยก มาแล้ว สูตรMacro เดิม ยังสามารถใช้ได้ อย
Posted: Thu May 18, 2017 10:47 am
by snasui
rong8182 wrote:โทดนะคับ
Export Module1 ไปเก็บไว้ก่อน นี่ทำยังไงหรอครับ
ข้อความที่ผมระบายสีไว้นั้นผิดกฎการใช้บอร์ดข้อ 1 ด้านบน กรุณางดใช้ข้อความลักษณะนี้ นอกจากนี้การโพสต์ Code ควรโพสต์ให้แสดงเป็น Code กรุณาอ่านกฎการใช้บอร์ดข้อ 5 ด้านบนครับ