Page 1 of 1

อยากแยกแต่ละ worksheet ใน excel ออกเป็นแต่ละไฟล์ค่ะ

Posted: Wed Jul 11, 2012 12:07 am
by nuch chompoo
อยากแยกแต่ละ worksheet ใน excel ออกเป็นแต่ละไฟล์ค่ะ

Re: อยากแยกแต่ละ worksheet ใน excel ออกเป็นแต่ละไฟล์ค่ะ

Posted: Wed Jul 11, 2012 7:22 am
by Tawat
ก็ยัง งง กับคำถามนะครับ

เท่าที่เข้าใจนะ คิดว่าเป็นการนำ Sheet1 , sheet2 แยกออกไปเป็น File Excel ใหม่ใช่หรือไม่ครับ

ถ้าใช่แบบบนี้ให้คลิกขวาที่ ชื่อ sheet นั้นๆ แล้วเลือกคำสั่ง move or copy ครับ

แล้วเลือกหัวข้อด้านบนสุดเป็น new book ครับ มันก็สามารถแยกไปเป็น file excel ใหม่ได้อีก 1 ไฟล์

แต่ถ้าไม่ใช่ก็รบกวนอธิบายความต้องการด้วยครับ

Re: อยากแยกแต่ละ worksheet ใน excel ออกเป็นแต่ละไฟล์ค่ะ

Posted: Wed Jul 11, 2012 10:35 pm
by nuch chompoo
ใช่เลยค่ะ คุณธวัช แต่ตอนนี้ มีเป็น 30 worksheet เลยค่ะ มีวิิธีอื่นอีกไหมคะ ขอบคุณล่วงหน้าค่ะ

Re: อยากแยกแต่ละ worksheet ใน excel ออกเป็นแต่ละไฟล์ค่ะ

Posted: Wed Jul 11, 2012 11:14 pm
by bank9597
nuch chompoo wrote:ใช่เลยค่ะ คุณธวัช แต่ตอนนี้ มีเป็น 30 worksheet เลยค่ะ มีวิิธีอื่นอีกไหมคะ ขอบคุณล่วงหน้าค่ะ
:D หากเป็นวิธีอื่นที่รวดเร็วกว่าต้องอาศัย VBA ช่วยครับ แต่จำเป็นต้องเขียนมาเองก่อนเสมอ ติดตรงไหนค่อยแก้ไปเรื่อยๆครับ

Re: อยากแยกแต่ละ worksheet ใน excel ออกเป็นแต่ละไฟล์ค่ะ

Posted: Thu Jul 12, 2012 8:06 am
by Tawat
ต้องถามว่าใช้ Macro เป็นรึเปล่าอะครับ

และก็ชื่อ sheet ใน ไฟล์ของคุณเป็นยังไง รบกวนส่งตัวอย่างมาด้วยครับ

ส่วน Macro แบบมั่วๆที่ผมทดลองทำก็ช่วยได้นิดหน่อยนะครับ

ถ้าแก้ไขนิดหน่อยได้ก็จะช่วยได้เหมือนกันครับ

การเขียนก็ประมาณนี้นะครับ

Sub test()
Dim n As Integer
For n = 1 To 2
Windows("book1").Activate
ActiveSheet.Select
ActiveSheet.Move
Next n
End Sub

ถ้าไม่เข้าใจก็สอบถามได้นะครับ

Re: อยากแยกแต่ละ worksheet ใน excel ออกเป็นแต่ละไฟล์ค่ะ

Posted: Thu Jul 12, 2012 9:14 am
by snasui
:D
Tawat wrote:ต้องถามว่าใช้ Macro เป็นรึเปล่าอะครับ
....

การเขียนก็ประมาณนี้นะครับ

Sub test()
Dim n As Integer
For n = 1 To 2
Windows("book1").Activate
ActiveSheet.Select
ActiveSheet.Move
Next n
End Sub

ถ้าไม่เข้าใจก็สอบถามได้นะครับ
คุณ Tawat สามารถปรับ Code ให้แสดงเป็น Code ตาม Link นี้ เพื่อให้ง่ายต่อการอ่านครับ viewtopic.php?f=3&t=1187

Re: อยากแยกแต่ละ worksheet ใน excel ออกเป็นแต่ละไฟล์ค่ะ

Posted: Sat Jul 14, 2012 7:20 am
by nuch chompoo
เขียนไม่เป็นค่ะ คุณธวัช แต่อยากลองเหมือนกัน คุณธวัชแนะนำหนังสือเล่มไหนดีคะ จากโค้ดที่คุณธวัชให้มา มันขึ้น error ว่า move method of worksheet ค่ะ
ตัวอย่างก็ง่ายๆ คุณธวัชช่วยเปิด 3 worksheet ค่ะ เดี๋ยวลอง test ของคุณธวัชอีกทีนะคะ กำลังคือว่า ค่า n คือ จำนวน worksheet รึเปล่าค่ะ

ขอบคุณมากๆเลยค่ะ
คุณธวัช :P

Re: อยากแยกแต่ละ worksheet ใน excel ออกเป็นแต่ละไฟล์ค่ะ

Posted: Sat Jul 14, 2012 8:02 am
by Tawat
ค่า n คือจำนวน Worksheet ครับ

ส่วน Windows("book1").Activate

คือ ชื่อของ file ที่คุณใช้ครับ เปลี่ยนชื่อให้ตรงกับชื่อไฟล์ของคุณก็น่าจะได้แล้วนะ

ส่วนผมศึกษาจากคนรอบข้างครับ และก็จาก Webboard นี้แหละครับ

ส่วนพวกโค้ด ผมจะใช้โค้ดเขียนคล้ายๆกับ excel เพื่อให้เข้าใจได้ง่าย

และที่ง่ายที่สุดคือผมใช้วิธี macro record แล้วอ่าน Code ที่ record มาได้ครับ

Re: อยากแยกแต่ละ worksheet ใน excel ออกเป็นแต่ละไฟล์ค่ะ

Posted: Sat Jul 14, 2012 10:18 am
by snasui
:D สามารถปรับ Code เป็นตามด้านล่างเพื่อแยกแต่ละชีทออกเป็นไฟล์ใหม่

Code: Select all

Sub test()
    Dim n As Integer
    For n = 1 To Sheets.Count - 1
    Windows("Test111.xlsm").Activate
    ActiveSheet.Select
    ActiveSheet.Move
    Next n
End Sub
การใช้ VBA จำเป็นต้องปรับปรุงแก้ไขเองได้บ้าง หากยังไม่เคยใช้ต้องศึกษามาก่อนเป็นลำดับ ติดขัดตรงไหนค่อยมาถามกันครับ

Re: อยากแยกแต่ละ worksheet ใน excel ออกเป็นแต่ละไฟล์ค่ะ

Posted: Sat Jul 14, 2012 2:01 pm
by Tawat
snasui wrote::D สามารถปรับ Code เป็นตามด้านล่างเพื่อแยกแต่ละชีทออกเป็นไฟล์ใหม่

Code: Select all

Sub test()
Dim n As Integer
For n = 1 To Sheets.Count - 1
Windows("Test111.xlsm").Activate
ActiveSheet.Select
ActiveSheet.Move
Next n
End Sub
การใช้ VBA จำเป็นต้องปรับปรุงแก้ไขเองได้บ้าง หากยังไม่เคยใช้ต้องศึกษามาก่อนเป็นลำดับ ติดขัดตรงไหนค่อยมาถามกันครับ

ขอบคุณมากเลยครับอาจารย์

เพราะผมยังคิดไม่ออกเลยว่าจะทำยังไง ถ้าไม่นับจำนวน Sheet

ได้ความรู้เพิ่มเติมขึ้นอีกครับ