:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
widtara
Member
Member
Posts: 76
Joined: Tue Jun 29, 2010 11:27 am

มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#1

Post by widtara »

คือว่าอ้อยมีงานที่ต้องออก report ค่ะ ในไฟล์ 1 จะมี 50 sheet ขึ้น และต้องคลิกขวา ที่ sheet และเลือก move or copy และเลือก new book เพื่อแยก ไปเป็น ไฟล์ใหม่ จะต้องทำตลอดและทำทุก sheet รบกวนถามอาจารย์ว่า มีวิธีที่ แยก sheet เป็น ไฟล์ใหม่ได้ครั้งเยอะๆไหมค่ะ คือว่าปวดมือนะค่ะ ต้องนะแยก sheet ใหม่ และเป็นงานประจำด้วยค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#2

Post by snasui »

:D สามารถทำได้ด้วย VBA ครับ

ผมเขียน Code มาเป็นตัวอย่างให้ตามด้านล่าง

Code: Select all

Sub Macro1()
Dim i As Integer
For i = 1 To Workbooks("Separate.xlsm").Worksheets.Count
    Workbooks("Separate.xlsm").Worksheets(i).Copy
Next i
End Sub
โดยมีวิธีการดังนี้ครับ
1. Save File เป็น .xlsm
2. กดแป้น Alt+F11 เพื่อเปิดหน้าต่าง VBE
3. คลิกเมนู Insert > Module > Copy Code ด้านบนไปวาง
4. เปลี่ยน Separate.xlsm ให้เป็นชื่อไฟล์จริงที่กำลังทำงานในปัจจุบัน > Save
5. กดแป้น Alt+Q เพื่อกับไปยัง Excel

การใช้งานให้กดแป้น Alt+F8 แ้ล้วเลือก Macro1 > Run โปรแกรมจะสร้างไฟลมาใหม่ตามชีทที่มีอยู่ให้ครับ

ดูไฟล์ตัวอย่างในไฟล์แนบครับ
You do not have the required permissions to view the files attached to this post.
widtara
Member
Member
Posts: 76
Joined: Tue Jun 29, 2010 11:27 am

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#3

Post by widtara »

:sg: ทำไม่ได้ค่ะ

Sub Macro1()
Dim i As Integer
For i = 1 To Workbooks("Separate.xlsm").Worksheets.Count
Workbooks("Separate.xlsm").Worksheets(i).Copy
Next i
End Sub

...............
อ้อยเปลี่ยน "Separate.xlsm" เป็น "RJL.xlsm" แล้วก็กด Alt+f8 แ้ล้วเลือก Macro1 > Run โปรแกรมไม่เห็นจะสร้างไฟลมาใหม่ตามชีทที่มีอยู่ให้เลยค่ะ
You do not have the required permissions to view the files attached to this post.
widtara
Member
Member
Posts: 76
Joined: Tue Jun 29, 2010 11:27 am

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#4

Post by widtara »

การบันทึกเป็น 2003 ทำได้แล้วค่ะ เลือกแต่การแยกไฟล์คือทำไม่ได้ ยัง งง อยู่ค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#5

Post by snasui »

:D ได้กำหนดให้ใช้ Macro ได้แล้วยังครับ

2007 ทำตามนี้ครับ

1. คลิก Office Logo
2. คลิก Excel Options
3. เลือก Trust Center > Trust Center Setting
4. Macro Settings > เืลือกเป็น Enable all macro...
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#6

Post by kmb »

ถ้าเป็นกรณีตรงข้ามล่ะครับ คือมีหลาย worksheet ซึ่งอยู่คนละไฟล์ ต้องการนำมารวมไว้ในไฟล์เดียว VBA จะยุ่งยากกว่านี้มากไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#7

Post by snasui »

:D ยุ่งยากกว่าแน่นอนครับ เพราะต้อง Loop ทีละไฟล์ว่ามีกี่ชีท นำแต่ละชีทในแต่ละไฟล์มาวางในไฟล์เป้าหมาย :mrgreen:
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#8

Post by kmb »

พอมี VBA สำหรับกรณีนี้ไว้แล้วไหมครับ จะได้ลองศึกษาดู
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#10

Post by kmb »

ขอบคุณมากครับ จะลองศึกษาดูครับ
widtara
Member
Member
Posts: 76
Joined: Tue Jun 29, 2010 11:27 am

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#11

Post by widtara »

ตอนนี้ตั้งค่าเป็น Disable all macros with notification ค่ะ

จากตัวเลือกทั้งหมด
Disable all macros without notification
Disable all macros with notification
Disable all macros except diqitally signed macros
Enable all macros (not recommended; potentially dangerous code can run)

:sg:
widtara
Member
Member
Posts: 76
Joined: Tue Jun 29, 2010 11:27 am

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#12

Post by widtara »

เย้ๆๆๆๆๆๆๆๆ ทำได้แล้วค่ะ ถูกใจมากเลย หุหุ ตอนแรกที่ทำไม่ได้คืออ้อยเอาไฟล์ที่พี่ทำให้มาไม่รู้ยังงัยมันไม่ได้สักกะที ก็เอา save ใหม่ทำใหม่คราวนี้ได้เลยค่ะ ขอบคุณมานะค่ะ ไม่นั่งจำ code vba ก่อนว่าเขียนยังงัย เมื่อกี้ copy อย่างนี้ค่ะ ขอบคุณมากๆนะค่ะ :lol:
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#13

Post by snasui »

:lol:
widtara wrote:ตอนนี้ตั้งค่าเป็น Disable all macros with notification ค่ะ

จากตัวเลือกทั้งหมด
Disable all macros without notification
Disable all macros with notification
Disable all macros except diqitally signed macros
Enable all macros (not recommended; potentially dangerous code can run)

:sg:
นั่นแสดงว่าไม่ได้ตั้งค่าให้ยอมรับการใช้งาน Macro ครับ จึงทำให้ Code ไม่สามารถทำงานได้ เมื่อ Code ทำงานไม่ได้ คุณคลิก Run แล้วก็จะไม่ได้คำตอบตามทีต้องการ ผมจึงได้บอกให้กำหนดตามด้านล่าง ถึงจะมีโอกาสได้คำตอบตามที่ต้องการครับ :D
snasui wrote::D ได้กำหนดให้ใช้ Macro ได้แล้วยังครับ

2007 ทำตามนี้ครับ

1. คลิก Office Logo
2. คลิก Excel Options
3. เลือก Trust Center > Trust Center Setting
4. Macro Settings > เืลือกเป็น Enable all macro...
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: มีวิธีแยก sheet ได้ครั้งเดียวทีละมากไหมค่ะ

#14

Post by snasui »

widtara wrote:เย้ๆๆๆๆๆๆๆๆ ทำได้แล้วค่ะ ถูกใจมากเลย หุหุ ตอนแรกที่ทำไม่ได้คืออ้อยเอาไฟล์ที่พี่ทำให้มาไม่รู้ยังงัยมันไม่ได้สักกะที ก็เอา save ใหม่ทำใหม่คราวนี้ได้เลยค่ะ ขอบคุณมานะค่ะ ไม่นั่งจำ code vba ก่อนว่าเขียนยังงัย เมื่อกี้ copy อย่างนี้ค่ะ ขอบคุณมากๆนะค่ะ :lol:
:lol: :D ดีใจด้วยครับ :P
Post Reply