Note: The other languages of the website are Google-translated. Back to English

วิธีจัดเรียงข้อมูลบนแผ่นงานหลายแผ่นพร้อมกัน?

ใน Excel เราสามารถจัดเรียงข้อมูลในแผ่นงานตามคอลัมน์เฉพาะได้อย่างรวดเร็วและง่ายดาย แต่คุณเคยพยายามจัดเรียงข้อมูลในแผ่นงานหลายแผ่นหรือไม่? ในการเรียงลำดับทีละรายการจะต้องใช้เวลานานบทความนี้จะแนะนำวิธีง่ายๆในการแก้ปัญหา

จัดเรียงข้อมูลบนแผ่นงานหลายแผ่นพร้อมกันด้วยรหัส VBA


ลูกศรสีฟ้าฟองขวา จัดเรียงข้อมูลบนแผ่นงานหลายแผ่นพร้อมกันด้วยรหัส VBA

ในการจัดเรียงข้อมูลตามคอลัมน์เดียวในทุกแผ่นงานของคุณรหัส VBA ต่อไปนี้สามารถช่วยคุณได้

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.

รหัส VBA: จัดเรียงข้อมูลบนแผ่นงานหลายแผ่นพร้อมกัน:

Sub SortAllSheets()
   'Updateby Extendoffice
   Dim WS      As Worksheet
   ActiveSheet.Range("a1:f1").Select
   Selection.Copy
   On Error Resume Next
   Application.ScreenUpdating = False
   For Each WS In Worksheets
      WS.Columns("A:F").Sort Key1:=WS.Columns("E"), Order1:=xlDescending
   Next WS
   ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteAll
   Application.ScreenUpdating = True
End Sub

3. จากนั้นกด F5 คีย์ในการเรียกใช้รหัสนี้แผ่นงานทั้งหมดที่มีการจัดรูปแบบเหมือนกันได้รับการจัดเรียงตามคอลัมน์ E ของแต่ละแผ่นงานโดยเรียงลำดับจากมากไปหาน้อยพร้อมกัน

หมายเหตุ: ในโค้ดด้านบน A: F คือช่วงข้อมูลที่คุณต้องการจัดเรียง E คือตัวอักษรคอลัมน์ที่คุณต้องการจัดเรียงตาม


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office/Excel 2007-2021 และ 365 รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ คุณสมบัติเต็มรูปแบบ ทดลองใช้ฟรี 30 วัน รับประกันคืนเงินภายใน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (11)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่ทำงาน...
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันจะทำให้สิ่งนี้ใช้ได้กับหลายคอลัมน์ได้อย่างไร ฉันกำลังพยายามจัดเรียงบางส่วนตามคอลัมน์ K และบางส่วนตามคอลัมน์ M และฉันรู้หมายเลขแผ่นงานที่แน่นอน คอลัมน์ M ของฉัน (เมื่อฉันใช้โค้ดด้านบน) จะถูกจัดเรียงตาม K เท่านั้น ไม่ใช่ตาม M ดังนั้นจึงใช้ไม่ได้ผล 
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ทำงานเหมือนมีเสน่ห์สำหรับฉัน...ขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ทำงานได้ดี แต่ฉันจะหลีกเลี่ยงการรวมหัวเรื่องได้อย่างไร (เช่นแถวที่ 1?)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ลูซี่
หากต้องการจัดเรียงแผ่นงานทั้งหมดยกเว้นแถวส่วนหัว โปรดใช้รหัส vba ด้านล่าง:(หมายเหตุ: โปรดเปลี่ยนการอ้างอิงเซลล์ตามความต้องการของคุณ)

Sub SortAllSheet()
'Updateby Extendoffice
Dim WS เป็นแผ่นงาน
Dim xIntR เป็นจำนวนเต็ม
ActiveSheet.Range("A1:F1") เลือก
เกี่ยวกับข้อผิดพลาดต่อไป
Application.ScreenUpdating = เท็จ
สำหรับแต่ละ WS ในเวิร์กชีต
xIntR = อินเตอร์เซก(WS.UsedRange, WS.Range("A:F")).Rows.Count
WS.Range("A2:F" & xIntR).Sort Key1:=WS.Range("A2:A" & xIntR), Order1:=xlDescending
ถัดไป WS
Application.ScreenUpdating = จริง
ย่อยสิ้นสุด

โปรดลอง หวังว่าจะช่วยคุณได้!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
หวังว่าจะได้เห็นสิ่งนี้...! วิธีนี้ใช้ได้ผลดี - แต่รวมเซลล์ที่มีสูตรแต่ไม่มีข้อมูล สร้างช่องว่างในแท็บและทำให้ข้อมูลในแถวยุ่งเหยิง ฉันต้องการเก็บเซลล์เหล่านั้นไว้ในแท็บของฉันขณะที่พวกเขาค้นหาชื่อที่เพิ่มลงใน 'แท็บหลัก' ฉันต้องการให้เซลล์จัดเรียงเฉพาะเซลล์ที่มีชื่อจริงเท่านั้น - การแก้ไขด่วน ???
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสมีประโยชน์มาก ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เฮ้ มันเยี่ยมมาก ขอบคุณมากสำหรับสิ่งนี้! ปัญหาเดียวของฉันกับรหัสนี้คือมันไม่ทำงานในชีตแรกของฉัน มันทำงานบนแผ่นงานที่เหลือของฉัน ฉันจะได้รับสิ่งนี้เพื่อดำเนินการกับชีตทั้งหมดได้อย่างไร ราวกับว่ารหัสข้ามแผ่นแรก ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมาก :)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันต้องการแบ่งข้อมูลในสมุดงานหลายเล่มแล้วเพิ่มค่าในคอลัมน์ใดคอลัมน์หนึ่ง..

ฉันได้เตรียมรหัสเพื่อแยกข้อมูลในสมุดงาน.. แต่ต้องการความช่วยเหลือในการเพิ่มผลรวมในคอลัมน์ใดคอลัมน์หนึ่ง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณสามารถรันสิ่งนี้โดยไม่รวมชีตทั้งหมดได้หรือไม่ คือทิ้งแผ่นงานบางส่วนออกจากมาโคร?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ดูเหมือนจะใช้ไม่ได้ผลสำหรับฉัน ฉันมีสมุดงานที่มีแผ่นงาน 12 แผ่น โดยเรียงตามเดือนของปี แต่ละแผ่นมีข้อมูลที่เกี่ยวข้องเกี่ยวกับผลิตภัณฑ์ของบริษัท ฯลฯ วัตถุประสงค์ของฉันคือการจัดเรียงและกรองแผ่นงานทั้งหมดในสมุดงาน ฉันต้องการมีแผ่นงานหนึ่งแผ่นที่จะทำหน้าที่เป็นแผ่นงานหลัก (เช่น เดือนแรกของปี) ซึ่งฉันจะทำการกรองหรือฟังก์ชั่นการเรียงลำดับ (เช่น การเรียงลำดับ A -> Z) และให้แผ่นงานอื่นๆ ปฏิบัติตามแบบเดียวกันโดยอัตโนมัติ เรียงลำดับหรือกรอง ตัวอย่างเช่น เมื่อใช้แผ่นงานชื่อ "มกราคม" ตัวอย่างเช่น ฉันเลือกคอลัมน์ "D" ซึ่งรวมถึงวันในเดือนที่ฉันต้องการในลำดับ "จากน้อยไปมาก" - เมื่อทำการเรียงลำดับ A -> Z บนแผ่นงาน "มกราคม" ฉันต้องการให้มันมีผลกับส่วนที่เหลือของชีตทั้งหมดในลำดับ (ก.พ. - ธ.ค. ) โดยทุกวันของเดือนเรียงลำดับ A -> Z การเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นในชีต "มกราคม" เนื่องจากเกี่ยวข้องกับการเรียงลำดับและการกรอง ควร ส่งผลต่อยอดดุลของแผ่นงานในสมุดงาน
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL