วิธีอัปเดตช่วงที่จัดเรียงโดยอัตโนมัติผ่าน VBA ในแผ่นงาน Excel ของคุณ

แบ่งปันเลย:

การจัดเรียงแบบกำหนดเองใน Excel เป็นคุณสมบัติที่มีประโยชน์มาก ในบทความนี้เราจะพูดถึงวิธีอัปเดตการจัดเรียงแบบกำหนดเองในช่วงโดยอัตโนมัติโดยใช้ Excel VBA

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

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

บันทึกมาโคร

เมื่อเกณฑ์ของการจัดเรียงแบบกำหนดเองมีความซับซ้อนมากคุณจะพบว่าการเขียนโค้ด VBA โดยตรงทำได้ยาก ดังนั้นตอนนี้คุณสามารถบันทึกมาโครได้ก่อน และรหัสในมาโครนี้สามารถใช้ในมาโครอื่น ๆ ได้ ขั้นตอนการบันทึกรหัสนั้นง่ายมาก

  1. ก่อนที่คุณจะบันทึกแมโครคุณต้องเพิ่มแท็บของ VBA ใน Ribbon คลิกขวาที่แท็บใดก็ได้ใน Ribbon ที่นี่
  2. จากนั้นเลือก "กำหนดริบบิ้นเอง" ในเมนูปรับแต่ง Ribbon
  3. ในหน้าต่าง "ตัวเลือก Excel" ให้เลือกตัวเลือก "นักพัฒนา" ในรายการ "แท็บหลัก"ผู้พัฒนา
  4. หลังจากนั้นคลิก“ ตกลง” ในหน้าต่าง ดังนั้นคุณได้เพิ่มแท็บใน Ribbon
  5. ตอนนี้คุณจะกลับมาที่แผ่นงาน คลิกแท็บ“ นักพัฒนา” ที่คุณเพิ่ม
  6. จากนั้นคลิกปุ่ม“ บันทึกมาโคร” ในแถบเครื่องมือ ดังนั้นหน้าต่าง "บันทึกมาโคร" จะปรากฏขึ้นบันทึกมาโคร

ในทางกลับกันคุณยังสามารถคลิกปุ่มเล็ก ๆ ที่ด้านล่างของแผ่นงานเพื่อแทนที่ 6 ขั้นตอนข้างต้นบันทึกมาโคร

  1. ตอนนี้ในหน้าต่าง "บันทึกมาโคร" ให้ป้อนชื่อลงในกล่องข้อความแรก กำหนดคีย์ลัดหากคุณต้องการ จากนั้นเพิ่มคำอธิบายตามความต้องการของคุณตั้งค่ามาโคร
  2. จากนั้นคลิก“ ตกลง” ดังนั้นมาโครจะเริ่มบันทึกทุกการดำเนินการที่คุณทำ
  3. เลือกช่วงที่คุณต้องการจัดเรียงในแผ่นงาน
  4. คลิกแท็บ“ หน้าแรก”
  5. จากนั้นคลิกปุ่ม "เรียงลำดับและกรอง" ใน Ribbon
  6. ในรายการแบบเลื่อนลงเลือกตัวเลือก "จัดเรียงแบบกำหนดเอง"จัดเรียงแบบกำหนดเอง
  7. ในหน้าต่าง "เรียงลำดับ" กำหนดเกณฑ์ตามความต้องการของคุณ การดำเนินการทั้งหมดจะถูกบันทึกไว้ในแมโครประเภท

เมื่อคุณบันทึกมาโครอย่าทำขั้นตอนเพิ่มเติม มิฉะนั้นขั้นตอนเหล่านั้นจะถูกบันทึกด้วย และสิ่งนี้จะทำให้เกิดปัญหาในส่วนต่อไปนี้

  1. หลังจากเสร็จสิ้นการตั้งค่าในหน้าต่าง "เรียงลำดับ" ให้คลิก "ตกลง" เพื่อบันทึกการตั้งค่า
  2. ตอนนี้คลิกแท็บ“ นักพัฒนา” ใน Ribbon อีกครั้ง
  3. จากนั้นคลิกปุ่ม“ หยุดการบันทึก” เมื่อแผ่นงานอยู่ในสภาพของมาโครการบันทึกปุ่มจะเปลี่ยนเป็น "หยุดการบันทึก"หยุดการบันทึก

คุณยังสามารถคลิกปุ่มที่ด้านล่างของแผ่นงานเพื่อหยุดบันทึกมาโคร ดังนั้นคุณจึงเสร็จสิ้นการบันทึก เกณฑ์การจัดเรียงทั้งหมดได้รับการบันทึกในมาโคร 1

ใช้ Excel VBA Macros

ในส่วนนี้เราจะแสดงวิธีใช้มาโคร VBA เพื่ออัปเดตการจัดเรียงแบบกำหนดเองในแผ่นงานของคุณ และคุณจะใช้มาโครที่บันทึกไว้ในส่วนนี้ด้วย

  1. คลิกแท็บ“ นักพัฒนา” ใน Ribbon
  2. จากนั้นคลิกปุ่ม“ Visual Basic” ในแถบเครื่องมือ คุณยังสามารถกดปุ่ม“ Alt + F11” บนแป้นพิมพ์เพื่อแทนที่ 2 ขั้นตอนได้ของ Visual Basic
  3. ในโปรแกรมแก้ไข Visual Basic ให้ดับเบิลคลิกที่แผ่นงานในพื้นที่“ VBAProject” ในแผ่นงานนี้คุณต้องอัปเดตการจัดเรียงแบบกำหนดเอง และในไฟล์จริงของคุณคุณต้องดับเบิลคลิกที่แผ่นงานที่เกี่ยวข้อง
  4. ตอนนี้ใส่รหัสต่อไปนี้ลงในพื้นที่
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
  1. จากนั้นป้อนรหัสต่อไปนี้ระหว่างสองประโยค VBA ข้างต้น
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then

End If

นี่คือช่วงโดยประมาณ จะมีเวลา 12 เดือนสำหรับปริมาณการขายและเมื่อรวมกับแถวแรกของส่วนหัวเราจะป้อนช่วง“ A1: C13” คุณยังสามารถป้อนช่วงลงในรหัสตามแผ่นงานจริงของคุณ

  1. ในขั้นตอนนี้ให้เปิดโมดูล 1 ในตัวแก้ไข รหัสในโมดูลนี้เป็นกระบวนการจัดเรียงแบบกำหนดเองที่คุณได้ทำไว้ก่อนหน้านี้ คุณจะเห็นได้ว่าการใช้คุณสมบัติการบันทึกมาโครช่วยให้คุณประหยัดเวลาได้มาก
  2. ตอนนี้คัดลอกส่วนหลักในโมดูลนี้คัดลอก
  3. จากนั้นดับเบิลคลิกที่ไฟล์ tarรับแผ่นงานในส่วน“ VBAProject”
  4. หลังจากนั้นวางรหัสลงในรหัส IF-END IF
  5. จากนั้นปรับเปลี่ยนช่วงในรหัสตามความต้องการของคุณ มาโครที่บันทึกมีความซับซ้อนและซ้ำซ้อนเล็กน้อย คุณยังสามารถปรับเปลี่ยนได้ตามความต้องการของคุณ ดังนั้นรหัส VBA ที่สมบูรณ์จะเป็นดังนี้:
Private Sub Worksheet_Change(ByVal Target As Range)
  Application.ScreenUpdating = False
  If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
    With ActiveWorkbook.Worksheets("Sheet1").Sort
      .SortFields.Clear
      .SortFields.Add Key:=Range("B2:B13"), _
         SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
      .SortFields.Add Key:=Range("C2:C13"), _
         SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    End With
 
    With ActiveWorkbook.Worksheets("Sheet1").Sort
      .SetRange Range("A1:C13")
      .Header = xlYes
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
    End With
  End If
End Sub

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

  1. ตอนนี้คุณทำรหัส VBA เสร็จแล้วในตัวแก้ไข คุณสามารถกลับมาที่เวิร์กชีตและทดสอบผลลัพธ์ได้ เมื่อคุณเพิ่มเดือนถัดไปและตัวเลขที่เกี่ยวข้องลงในช่วงการจัดเรียงแบบกำหนดเองจะรีเฟรชโดยอัตโนมัติเอกสาร

ดังนั้นคุณไม่จำเป็นต้องอัปเดตการจัดเรียงแบบกำหนดเองด้วยตนเองทุกครั้งที่คุณป้อนองค์ประกอบใหม่ลงในไฟล์ tarรับช่วง ในทางกลับกันคุณต้องบันทึกสมุดงานนี้เป็นไฟล์ Excel ที่เปิดใช้งานมาโคร มิฉะนั้นคุณจะสูญเสียรหัสหากคุณบันทึกเป็นไฟล์ธรรมดา

เราจะให้ความช่วยเหลือแก่เหยื่อการทุจริตของ Excel

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

บริษัท ของเราทำงานในพื้นที่การกู้คืนมาหลายปีโดยเฉพาะการกู้คืน Excel ดังนั้นคุณสามารถขอความช่วยเหลือจากเจ้าหน้าที่ด้านเทคนิคของเราได้ ด้วยประสบการณ์ที่ยาวนานเราสามารถหาสาเหตุที่ทำให้ไฟล์ของคุณเสียหายได้อย่างง่ายดาย และเพื่อช่วยให้คุณดีขึ้น ซ่อมแซมความเสียหายของไฟล์ Excel xlsxเราได้พัฒนาเครื่องมือของบุคคลที่สาม เครื่องมือนี้จัดการได้ง่ายมากและคุณไม่จำเป็นต้องกังวลเกี่ยวกับปัญหาความเป็นส่วนตัว

บทนำผู้เขียน:

Anna Ma เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ ซ่อมแซมข้อผิดพลาด Word docx และผลิตภัณฑ์ซอฟต์แวร์ซ่อมแซมแนวโน้ม ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.

แบ่งปันเลย:

ความเห็นถูกปิด